Files
securedorg.github.io/x86.xml
Amanda Rousseau 0d46c00ebb updating tables
2017-03-13 22:25:09 -07:00

65429 lines
2.6 MiB

<?xml version='1.0' encoding='utf-8'?>
<!--- Source: https://github.com/Maratyszcza/Opcodes --->
<InstructionSet name="x86">
<Instruction name="AAA" summary="ASCII Adjust After Addition">
<InstructionForm gas-name="aaa" go-name="AAA">
<Encoding>
<Opcode byte="37"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AAD" summary="ASCII Adjust AX Before Division">
<InstructionForm gas-name="aad" go-name="AAD">
<Encoding>
<Opcode byte="D5"/>
<Opcode byte="0A"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aad" go-name="AAD">
<Operand type="imm8"/>
<Encoding>
<Opcode byte="D5"/>
<Immediate size="1" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AAM" summary="ASCII Adjust AX After Multiply">
<InstructionForm gas-name="aam" go-name="AAM">
<Encoding>
<Opcode byte="D4"/>
<Opcode byte="0A"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aam" go-name="AAM">
<Operand type="imm8"/>
<Encoding>
<Opcode byte="D4"/>
<Immediate size="1" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AAS" summary="ASCII Adjust AL After Subtraction">
<InstructionForm gas-name="aas" go-name="AAS">
<Encoding>
<Opcode byte="3F"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADC" summary="Add with Carry">
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="14"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="10"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="15"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="15"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcb" go-name="ADCB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="10"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcw" go-name="ADCW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcl" go-name="ADCL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADCX" summary="Unsigned Integer Addition of Two Operands with Carry Flag">
<InstructionForm gas-name="adcxl">
<ISA id="ADX"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adcxl">
<ISA id="ADX"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADD" summary="Add">
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="04"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="00"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="02"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="05"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="03"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="05"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="01"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="03"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addb" go-name="ADDB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="00"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addw" go-name="ADDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="01"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addl" go-name="ADDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="01"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDPD" summary="Add Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="addpd" go-name="ADDPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addpd" go-name="ADDPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDPS" summary="Add Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="addps" go-name="ADDPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addps" go-name="ADDPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDSD" summary="Add Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="addsd" go-name="ADDSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addsd" go-name="ADDSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDSS" summary="Add Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="addss" go-name="ADDSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addss" go-name="ADDSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDSUBPD" summary="Packed Double-FP Add/Subtract">
<InstructionForm gas-name="addsubpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addsubpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADDSUBPS" summary="Packed Single-FP Add/Subtract">
<InstructionForm gas-name="addsubps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="addsubps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ADOX" summary="Unsigned Integer Addition of Two Operands with Overflow Flag">
<InstructionForm gas-name="adoxl">
<ISA id="ADX"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="adoxl">
<ISA id="ADX"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESDEC" summary="Perform One Round of an AES Decryption Flow">
<InstructionForm gas-name="aesdec" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aesdec" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESDECLAST" summary="Perform Last Round of an AES Decryption Flow">
<InstructionForm gas-name="aesdeclast" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aesdeclast" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESENC" summary="Perform One Round of an AES Encryption Flow">
<InstructionForm gas-name="aesenc" go-name="AESENC" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aesenc" go-name="AESENC" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESENCLAST" summary="Perform Last Round of an AES Encryption Flow">
<InstructionForm gas-name="aesenclast" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aesenclast" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESIMC" summary="Perform the AES InvMixColumn Transformation">
<InstructionForm gas-name="aesimc" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aesimc" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="DB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AESKEYGENASSIST" summary="AES Round Key Generation Assist">
<InstructionForm gas-name="aeskeygenassist" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="aeskeygenassist" xmm-mode="SSE">
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="DF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="AND" summary="Logical AND">
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="24"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="20"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="25"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="25"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="21"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andb" go-name="ANDB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="20"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andw" go-name="ANDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="21"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andl" go-name="ANDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="21"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ANDN" summary="Logical AND NOT">
<InstructionForm gas-name="andnl" cancelling-inputs="true">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andnl">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ANDNPD" summary="Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="andnpd" go-name="ANDNPD" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andnpd" go-name="ANDNPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="55"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ANDNPS" summary="Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="andnps" go-name="ANDNPS" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andnps" go-name="ANDNPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="55"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ANDPD" summary="Bitwise Logical AND of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="andpd" go-name="ANDPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andpd" go-name="ANDPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="54"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ANDPS" summary="Bitwise Logical AND of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="andps" go-name="ANDPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="andps" go-name="ANDPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="54"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BEXTR" summary="Bit Field Extract">
<InstructionForm gas-name="bextr">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01010" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextr">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextr">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01010" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextr">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextr">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01010" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextr">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01010" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLCFILL" summary="Fill From Lowest Clear Bit">
<InstructionForm gas-name="blcfill">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcfill">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcfill">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcfill">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLCI" summary="Isolate Lowest Clear Bit">
<InstructionForm gas-name="blci">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blci">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blci">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blci">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLCIC" summary="Isolate Lowest Set Bit and Complement">
<InstructionForm gas-name="blcic">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="5" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcic">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="5" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcic">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="5" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcic">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="5" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLCMSK" summary="Mask From Lowest Clear Bit">
<InstructionForm gas-name="blcmsk">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcmsk">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcmsk">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcmsk">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLCS" summary="Set Lowest Clear Bit">
<InstructionForm gas-name="blcs">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcs">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcs">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blcs">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLENDPD" summary="Blend Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="blendpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blendpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLENDPS" summary=" Blend Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="blendps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blendps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLENDVPD" summary=" Variable Blend Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="blendvpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blendvpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="15"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLENDVPS" summary=" Variable Blend Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="blendvps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blendvps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="14"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLSFILL" summary="Fill From Lowest Set Bit">
<InstructionForm gas-name="blsfill">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsfill">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsfill">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsfill">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLSI" summary="Isolate Lowest Set Bit">
<InstructionForm gas-name="blsi">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsi">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="#1" reg="3" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLSIC" summary="Isolate Lowest Set Bit and Complement">
<InstructionForm gas-name="blsic">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsic">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsic">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsic">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="6" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLSMSK" summary="Mask From Lowest Set Bit">
<InstructionForm gas-name="blsmsk">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsmsk">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="#1" reg="2" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BLSR" summary="Reset Lowest Set Bit">
<InstructionForm gas-name="blsr">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="blsr">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="F3"/>
<ModRM mode="#1" reg="1" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BSF" summary="Bit Scan Forward">
<InstructionForm gas-name="bsfw" go-name="BSFW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsfw" go-name="BSFW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsfl" go-name="BSFL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsfl" go-name="BSFL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BSR" summary="Bit Scan Reverse">
<InstructionForm gas-name="bsrw" go-name="BSRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsrw" go-name="BSRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsrl" go-name="BSRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bsrl" go-name="BSRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BSWAP" summary="Byte Swap">
<InstructionForm gas-name="bswapl" go-name="BSWAPL">
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C8" addend="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BT" summary="Bit Test">
<InstructionForm gas-name="btw" go-name="BTW">
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btw" go-name="BTW">
<Operand type="r16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A3"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btl" go-name="BTL">
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btl" go-name="BTL">
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A3"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btw" go-name="BTW">
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btw" go-name="BTW">
<Operand type="m16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btl" go-name="BTL">
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btl" go-name="BTL">
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BTC" summary="Bit Test and Complement">
<InstructionForm gas-name="btcw" go-name="BTCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcw" go-name="BTCW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcl" go-name="BTCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcl" go-name="BTCL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcw" go-name="BTCW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcw" go-name="BTCW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BB"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcl" go-name="BTCL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btcl" go-name="BTCL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BB"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BTR" summary="Bit Test and Reset">
<InstructionForm gas-name="btrw" go-name="BTRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrw" go-name="BTRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B3"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrl" go-name="BTRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrl" go-name="BTRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B3"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrw" go-name="BTRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrw" go-name="BTRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrl" go-name="BTRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btrl" go-name="BTRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BTS" summary="Bit Test and Set">
<InstructionForm gas-name="btsw" go-name="BTSW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsw" go-name="BTSW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsl" go-name="BTSL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsl" go-name="BTSL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsw" go-name="BTSW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsw" go-name="BTSW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AB"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsl" go-name="BTSL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BA"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="btsl" go-name="BTSL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AB"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="BZHI" summary="Zero High Bits Starting with Specified Bit Position">
<InstructionForm gas-name="bzhi">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bzhi">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CALL" summary="Call Procedure">
<InstructionForm gas-name="call" go-name="CALL">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="E8"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="calll">
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="calll">
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CBW" summary="Convert Byte to Word">
<InstructionForm gas-name="cbtw">
<ImplicitOperand id="ax" input="false" output="true"/>
<ImplicitOperand id="al" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="98"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CDQ" summary="Convert Doubleword to Quadword">
<InstructionForm gas-name="cltd">
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="99"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CLC" summary="Clear Carry Flag">
<InstructionForm gas-name="clc" go-name="CLC">
<Encoding>
<Opcode byte="F8"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CLD" summary="Clear Direction Flag">
<InstructionForm gas-name="cld" go-name="CLD">
<Encoding>
<Opcode byte="FC"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMC" summary="Complement Carry Flag">
<InstructionForm gas-name="cmc" go-name="CMC">
<Encoding>
<Opcode byte="F5"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVA" summary="Move if above (CF == 0 and ZF == 0)">
<InstructionForm gas-name="cmova">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmova">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmova">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmova">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVAE" summary="Move if above or equal (CF == 0)">
<InstructionForm gas-name="cmovae">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovae">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovae">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovae">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVB" summary="Move if below (CF == 1)">
<InstructionForm gas-name="cmovb">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovb">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovb">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovb">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVBE" summary="Move if below or equal (CF == 1 or ZF == 1)">
<InstructionForm gas-name="cmovbe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovbe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovbe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovbe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVC" summary="Move if carry (CF == 1)">
<InstructionForm gas-name="cmovc">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovc">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovc">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovc">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVE" summary="Move if equal (ZF == 1)">
<InstructionForm gas-name="cmove">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmove">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmove">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmove">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVG" summary="Move if greater (ZF == 0 and SF == OF)">
<InstructionForm gas-name="cmovg">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovg">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovg">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovg">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVGE" summary="Move if greater or equal (SF == OF)">
<InstructionForm gas-name="cmovge">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovge">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovge">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovge">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVL" summary="Move if less (SF != OF)">
<InstructionForm gas-name="cmovl">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovl">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovl">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovl">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVLE" summary="Move if less or equal (ZF == 1 or SF != OF)">
<InstructionForm gas-name="cmovle">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovle">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovle">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovle">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNA" summary="Move if not above (CF == 1 or ZF == 1)">
<InstructionForm gas-name="cmovna">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovna">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovna">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovna">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="46"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNAE" summary="Move if not above or equal (CF == 1)">
<InstructionForm gas-name="cmovnae">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnae">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnae">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnae">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNB" summary="Move if not below (CF == 0)">
<InstructionForm gas-name="cmovnb">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnb">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnb">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnb">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNBE" summary="Move if not below or equal (CF == 0 and ZF == 0)">
<InstructionForm gas-name="cmovnbe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnbe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnbe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnbe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="47"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNC" summary="Move if not carry (CF == 0)">
<InstructionForm gas-name="cmovnc">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnc">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnc">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnc">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="43"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNE" summary="Move if not equal (ZF == 0)">
<InstructionForm gas-name="cmovne">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovne">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovne">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovne">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNG" summary="Move if not greater (ZF == 1 or SF != OF)">
<InstructionForm gas-name="cmovng">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovng">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovng">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovng">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNGE" summary="Move if not greater or equal (SF != OF)">
<InstructionForm gas-name="cmovnge">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnge">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnge">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnge">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNL" summary="Move if not less (SF == OF)">
<InstructionForm gas-name="cmovnl">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnl">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnl">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnl">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNLE" summary="Move if not less or equal (ZF == 0 and SF == OF)">
<InstructionForm gas-name="cmovnle">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnle">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnle">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnle">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNO" summary="Move if not overflow (OF == 0)">
<InstructionForm gas-name="cmovno">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovno">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="41"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovno">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovno">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="41"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNP" summary="Move if not parity (PF == 0)">
<InstructionForm gas-name="cmovnp">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnp">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnp">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnp">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNS" summary="Move if not sign (SF == 0)">
<InstructionForm gas-name="cmovns">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovns">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="49"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovns">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovns">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="49"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVNZ" summary="Move if not zero (ZF == 0)">
<InstructionForm gas-name="cmovnz">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnz">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnz">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovnz">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="45"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVO" summary="Move if overflow (OF == 1)">
<InstructionForm gas-name="cmovo">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovo">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="40"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovo">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovo">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="40"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVP" summary="Move if parity (PF == 1)">
<InstructionForm gas-name="cmovp">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovp">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovp">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovp">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVPE" summary="Move if parity even (PF == 1)">
<InstructionForm gas-name="cmovpe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpe">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpe">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVPO" summary="Move if parity odd (PF == 0)">
<InstructionForm gas-name="cmovpo">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpo">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpo">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovpo">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="4B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVS" summary="Move if sign (SF == 1)">
<InstructionForm gas-name="cmovs">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovs">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="48"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovs">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovs">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="48"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMOVZ" summary="Move if zero (ZF == 1)">
<InstructionForm gas-name="cmovz">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovz">
<ISA id="CMOV"/>
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovz">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmovz">
<ISA id="CMOV"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMP" summary="Compare Two Operands">
<InstructionForm gas-name="cmpb" go-name="CMPB">
<Operand type="al" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="3C"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpb" go-name="CMPB">
<Operand type="r8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpb" go-name="CMPB" cancelling-inputs="true">
<Operand type="r8" input="true" output="false"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="38"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpb" go-name="CMPB">
<Operand type="r8" input="true" output="false"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="3A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="ax" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="3D"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="r16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW" cancelling-inputs="true">
<Operand type="r16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="r16" input="true" output="false"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="3B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="eax" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="3D"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="r32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL" cancelling-inputs="true">
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="r32" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="3B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpb" go-name="CMPB">
<Operand type="m8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpb" go-name="CMPB">
<Operand type="m8" input="true" output="false"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="38"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="m16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpw" go-name="CMPW">
<Operand type="m16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="m32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpl" go-name="CMPL">
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPPD" summary="Compare Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="cmppd" go-name="CMPPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmppd" go-name="CMPPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPPS" summary="Compare Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="cmpps" go-name="CMPPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpps" go-name="CMPPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPSD" summary="Compare Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="cmpsd" go-name="CMPSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpsd" go-name="CMPSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPSS" summary="Compare Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="cmpss" go-name="CMPSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpss" go-name="CMPSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPXCHG" summary="Compare and Exchange">
<InstructionForm gas-name="cmpxchgb" go-name="CMPXCHGB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B0"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpxchgw" go-name="CMPXCHGW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B1"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpxchgl" go-name="CMPXCHGL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B1"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpxchgb" go-name="CMPXCHGB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpxchgw" go-name="CMPXCHGW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cmpxchgl" go-name="CMPXCHGL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CMPXCHG8B" summary="Compare and Exchange 8 Bytes">
<InstructionForm gas-name="cmpxchg8b" go-name="CMPXCHG8B">
<Operand type="m64" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="ebx" input="true" output="false"/>
<ImplicitOperand id="ecx" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="COMISD" summary="Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="comisd" go-name="COMISD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="comisd" go-name="COMISD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="COMISS" summary="Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="comiss" go-name="COMISS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="comiss" go-name="COMISS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CPUID" summary="CPU Identification">
<InstructionForm gas-name="cpuid" go-name="CPUID">
<ISA id="CPUID"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="ebx" input="false" output="true"/>
<ImplicitOperand id="ecx" input="true" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CRC32" summary="Accumulate CRC32 Value">
<InstructionForm gas-name="crc32b">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="crc32w">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="crc32l">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="crc32b">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="crc32w">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="crc32l">
<ISA id="SSE4.2"/>
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTDQ2PD" summary="Convert Packed Dword Integers to Packed Double-Precision FP Values">
<InstructionForm gas-name="cvtdq2pd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtdq2pd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTDQ2PS" summary="Convert Packed Dword Integers to Packed Single-Precision FP Values">
<InstructionForm gas-name="cvtdq2ps" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtdq2ps" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPD2DQ" summary="Convert Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvtpd2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtpd2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPD2PI" summary="Convert Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvtpd2pi" go-name="CVTPD2PL" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtpd2pi" go-name="CVTPD2PL" mmx-mode="MMX">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPD2PS" summary="Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values">
<InstructionForm gas-name="cvtpd2ps" go-name="CVTPD2PS" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtpd2ps" go-name="CVTPD2PS" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPI2PD" summary="Convert Packed Dword Integers to Packed Double-Precision FP Values">
<InstructionForm gas-name="cvtpi2pd" go-name="CVTPL2PD" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtpi2pd" go-name="CVTPL2PD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPI2PS" summary="Convert Packed Dword Integers to Packed Single-Precision FP Values">
<InstructionForm gas-name="cvtpi2ps" go-name="CVTPL2PS" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtpi2ps" go-name="CVTPL2PS" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPS2DQ" summary="Convert Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvtps2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtps2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPS2PD" summary="Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values">
<InstructionForm gas-name="cvtps2pd" go-name="CVTPS2PD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtps2pd" go-name="CVTPS2PD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTPS2PI" summary="Convert Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvtps2pi" go-name="CVTPS2PL" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtps2pi" go-name="CVTPS2PL" mmx-mode="MMX">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSD2SI" summary="Convert Scalar Double-Precision FP Value to Integer">
<InstructionForm gas-name="cvtsd2si" go-name="CVTSD2SL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtsd2si" go-name="CVTSD2SL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSD2SS" summary="Convert Scalar Double-Precision FP Value to Scalar Single-Precision FP Value">
<InstructionForm gas-name="cvtsd2ss" go-name="CVTSD2SS" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtsd2ss" go-name="CVTSD2SS" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSI2SD" summary="Convert Dword Integer to Scalar Double-Precision FP Value">
<InstructionForm gas-name="cvtsi2sd" go-name="CVTSL2SD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtsi2sd" go-name="CVTSL2SD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSI2SS" summary="Convert Dword Integer to Scalar Single-Precision FP Value">
<InstructionForm gas-name="cvtsi2ss" go-name="CVTSL2SS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtsi2ss" go-name="CVTSL2SS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSS2SD" summary="Convert Scalar Single-Precision FP Value to Scalar Double-Precision FP Value">
<InstructionForm gas-name="cvtss2sd" go-name="CVTSS2SD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtss2sd" go-name="CVTSS2SD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTSS2SI" summary="Convert Scalar Single-Precision FP Value to Dword Integer">
<InstructionForm gas-name="cvtss2si" go-name="CVTSS2SL" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvtss2si" go-name="CVTSS2SL" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTPD2DQ" summary="Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvttpd2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttpd2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTPD2PI" summary="Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvttpd2pi" go-name="CVTTPD2PL" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttpd2pi" go-name="CVTTPD2PL" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTPS2DQ" summary="Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvttps2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttps2dq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTPS2PI" summary="Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="cvttps2pi" go-name="CVTTPS2PL" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttps2pi" go-name="CVTTPS2PL" mmx-mode="MMX">
<ISA id="SSE"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTSD2SI" summary="Convert with Truncation Scalar Double-Precision FP Value to Signed Integer">
<InstructionForm gas-name="cvttsd2si" go-name="CVTTSD2SL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttsd2si" go-name="CVTTSD2SL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CVTTSS2SI" summary="Convert with Truncation Scalar Single-Precision FP Value to Dword Integer">
<InstructionForm gas-name="cvttss2si" go-name="CVTTSS2SL" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="cvttss2si" go-name="CVTTSS2SL" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CWD" summary="Convert Word to Doubleword">
<InstructionForm gas-name="cwtd">
<ImplicitOperand id="ax" input="true" output="false"/>
<ImplicitOperand id="dx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="99"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="CWDE" summary="Convert Word to Doubleword">
<InstructionForm gas-name="cwtl">
<ImplicitOperand id="ax" input="true" output="false"/>
<ImplicitOperand id="eax" input="false" output="true"/>
<Encoding>
<Opcode byte="98"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DAA" summary="Decimal Adjust AL after Addition">
<InstructionForm gas-name="daa" go-name="DAA">
<Encoding>
<Opcode byte="27"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DAS" summary="Decimal Adjust AL after Subtraction">
<InstructionForm gas-name="das" go-name="DAS">
<Encoding>
<Opcode byte="2F"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DEC" summary="Decrement by 1">
<InstructionForm gas-name="decb" go-name="DECB">
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="FE"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="decw" go-name="DECW">
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="48" addend="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="decl" go-name="DECL">
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="48" addend="#0"/>
</Encoding>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="decb" go-name="DECB">
<Operand type="m8" input="true" output="true"/>
<Encoding>
<Opcode byte="FE"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="decw" go-name="DECW">
<Operand type="m16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="decl" go-name="DECL">
<Operand type="m32" input="true" output="true"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DIV" summary="Unsigned Divide">
<InstructionForm gas-name="divb" go-name="DIVB">
<Operand type="r8" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divw" go-name="DIVW">
<Operand type="r16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divl" go-name="DIVL">
<Operand type="r32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divb" go-name="DIVB">
<Operand type="m8" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divw" go-name="DIVW">
<Operand type="m16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divl" go-name="DIVL">
<Operand type="m32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DIVPD" summary="Divide Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="divpd" go-name="DIVPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divpd" go-name="DIVPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DIVPS" summary="Divide Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="divps" go-name="DIVPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divps" go-name="DIVPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DIVSD" summary="Divide Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="divsd" go-name="DIVSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divsd" go-name="DIVSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DIVSS" summary="Divide Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="divss" go-name="DIVSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="divss" go-name="DIVSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DPPD" summary="Dot Product of Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="dppd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="dppd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="41"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="DPPS" summary="Dot Product of Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="dpps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="dpps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="40"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="EMMS" summary="Exit MMX State">
<InstructionForm gas-name="emms" go-name="EMMS" mmx-mode="MMX">
<ISA id="MMX"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="77"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="EXTRACTPS" summary="Extract Packed Single Precision Floating-Point Value">
<InstructionForm gas-name="extractps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="extractps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="EXTRQ" summary="Extract Field">
<InstructionForm gas-name="extrq" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="extrq" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="FEMMS" summary="Fast Exit Multimedia State">
<InstructionForm gas-name="femms">
<ISA id="FEMMS"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0E"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="HADDPD" summary="Packed Double-FP Horizontal Add">
<InstructionForm gas-name="haddpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="haddpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="HADDPS" summary="Packed Single-FP Horizontal Add">
<InstructionForm gas-name="haddps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="haddps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="HSUBPD" summary="Packed Double-FP Horizontal Subtract">
<InstructionForm gas-name="hsubpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="hsubpd" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="HSUBPS" summary="Packed Single-FP Horizontal Subtract">
<InstructionForm gas-name="hsubps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="hsubps" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="IDIV" summary="Signed Divide">
<InstructionForm gas-name="idivb" go-name="IDIVB">
<Operand type="r8" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="idivw" go-name="IDIVW">
<Operand type="r16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="idivl" go-name="IDIVL">
<Operand type="r32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="idivb" go-name="IDIVB">
<Operand type="m8" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="idivw" go-name="IDIVW">
<Operand type="m16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="idivl" go-name="IDIVL">
<Operand type="m32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="IMUL" summary="Signed Multiply">
<InstructionForm gas-name="imulb" go-name="IMULB">
<Operand type="r8" input="true" output="false"/>
<ImplicitOperand id="ax" input="false" output="true"/>
<ImplicitOperand id="al" input="true" output="false"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw" go-name="IMULW">
<Operand type="r16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull" go-name="IMULL">
<Operand type="r32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulb" go-name="IMULB">
<Operand type="m8" input="true" output="false"/>
<ImplicitOperand id="ax" input="false" output="true"/>
<ImplicitOperand id="al" input="true" output="false"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw" go-name="IMULW">
<Operand type="m16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull" go-name="IMULL">
<Operand type="m32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw" go-name="IMULW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw" go-name="IMULW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull" go-name="IMULL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull" go-name="IMULL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw">
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false" extended-size="2"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw">
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="2" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw">
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false" extended-size="2"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="6B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imulw">
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="69"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="2" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull">
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false" extended-size="4"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull">
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull">
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false" extended-size="4"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="6B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="imull">
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="69"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="4" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="INC" summary="Increment by 1">
<InstructionForm gas-name="incb" go-name="INCB">
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="FE"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="incw" go-name="INCW">
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="40" addend="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="incl" go-name="INCL">
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="40" addend="#0"/>
</Encoding>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="incb" go-name="INCB">
<Operand type="m8" input="true" output="true"/>
<Encoding>
<Opcode byte="FE"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="incw" go-name="INCW">
<Operand type="m16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="incl" go-name="INCL">
<Operand type="m32" input="true" output="true"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="INSERTPS" summary="Insert Packed Single Precision Floating-Point Value">
<InstructionForm gas-name="insertps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="insertps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="INSERTQ" summary="Insert Field">
<InstructionForm gas-name="insertq" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="insertq" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="INT" summary="Call to Interrupt Procedure">
<InstructionForm gas-name="int" go-name="INT">
<Operand type="3"/>
<Encoding>
<Opcode byte="CC"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="int" go-name="INT">
<Operand type="imm8"/>
<Encoding>
<Opcode byte="CD"/>
<Immediate size="1" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="INTO" summary="Interrupt 4 If Overflow Flag is Set">
<InstructionForm gas-name="into" go-name="INTO">
<Encoding>
<Opcode byte="CE"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JA" summary="Jump if above (CF == 0 and ZF == 0)">
<InstructionForm gas-name="ja" go-name="JHI">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="77"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="ja" go-name="JHI">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="87"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JAE" summary="Jump if above or equal (CF == 0)">
<InstructionForm gas-name="jae" go-name="JCC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="73"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jae" go-name="JCC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="83"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JB" summary="Jump if below (CF == 1)">
<InstructionForm gas-name="jb" go-name="JCS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="72"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jb" go-name="JCS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="82"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JBE" summary="Jump if below or equal (CF == 1 or ZF == 1)">
<InstructionForm gas-name="jbe" go-name="JLS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="76"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jbe" go-name="JLS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="86"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JC" summary="Jump if carry (CF == 1)">
<InstructionForm gas-name="jc" go-name="JCS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="72"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jc" go-name="JCS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="82"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JE" summary="Jump if equal (ZF == 1)">
<InstructionForm gas-name="je" go-name="JEQ">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="74"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="je" go-name="JEQ">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="84"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JECXZ" summary="Jump if ECX register is 0">
<InstructionForm gas-name="jecxz" go-name="JCXZL">
<Operand type="rel8"/>
<ImplicitOperand id="ecx" input="true" output="false"/>
<Encoding>
<Opcode byte="E3"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JG" summary="Jump if greater (ZF == 0 and SF == OF)">
<InstructionForm gas-name="jg" go-name="JGT">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7F"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jg" go-name="JGT">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8F"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JGE" summary="Jump if greater or equal (SF == OF)">
<InstructionForm gas-name="jge" go-name="JGE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7D"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jge" go-name="JGE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8D"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JL" summary="Jump if less (SF != OF)">
<InstructionForm gas-name="jl" go-name="JLT">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7C"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jl" go-name="JLT">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8C"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JLE" summary="Jump if less or equal (ZF == 1 or SF != OF)">
<InstructionForm gas-name="jle" go-name="JLE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7E"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jle" go-name="JLE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8E"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JMP" summary="Jump Unconditionally">
<InstructionForm gas-name="jmp" go-name="JMP">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="EB"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jmp" go-name="JMP">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="E9"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jmpl" go-name="JMP">
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jmpl" go-name="JMP">
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNA" summary="Jump if not above (CF == 1 or ZF == 1)">
<InstructionForm gas-name="jna" go-name="JLS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="76"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jna" go-name="JLS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="86"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNAE" summary="Jump if not above or equal (CF == 1)">
<InstructionForm gas-name="jnae" go-name="JCS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="72"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnae" go-name="JCS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="82"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNB" summary="Jump if not below (CF == 0)">
<InstructionForm gas-name="jnb" go-name="JCC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="73"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnb" go-name="JCC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="83"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNBE" summary="Jump if not below or equal (CF == 0 and ZF == 0)">
<InstructionForm gas-name="jnbe" go-name="JHI">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="77"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnbe" go-name="JHI">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="87"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNC" summary="Jump if not carry (CF == 0)">
<InstructionForm gas-name="jnc" go-name="JCC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="73"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnc" go-name="JCC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="83"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNE" summary="Jump if not equal (ZF == 0)">
<InstructionForm gas-name="jne" go-name="JNE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="75"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jne" go-name="JNE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="85"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNG" summary="Jump if not greater (ZF == 1 or SF != OF)">
<InstructionForm gas-name="jng" go-name="JLE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7E"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jng" go-name="JLE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8E"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNGE" summary="Jump if not greater or equal (SF != OF)">
<InstructionForm gas-name="jnge" go-name="JLT">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7C"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnge" go-name="JLT">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8C"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNL" summary="Jump if not less (SF == OF)">
<InstructionForm gas-name="jnl" go-name="JGE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7D"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnl" go-name="JGE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8D"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNLE" summary="Jump if not less or equal (ZF == 0 and SF == OF)">
<InstructionForm gas-name="jnle" go-name="JGT">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7F"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnle" go-name="JGT">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8F"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNO" summary="Jump if not overflow (OF == 0)">
<InstructionForm gas-name="jno" go-name="JOC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="71"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jno" go-name="JOC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="81"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNP" summary="Jump if not parity (PF == 0)">
<InstructionForm gas-name="jnp" go-name="JPC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7B"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnp" go-name="JPC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8B"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNS" summary="Jump if not sign (SF == 0)">
<InstructionForm gas-name="jns" go-name="JPL">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="79"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jns" go-name="JPL">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="89"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JNZ" summary="Jump if not zero (ZF == 0)">
<InstructionForm gas-name="jnz" go-name="JNE">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="75"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jnz" go-name="JNE">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="85"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JO" summary="Jump if overflow (OF == 1)">
<InstructionForm gas-name="jo" go-name="JOS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="70"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jo" go-name="JOS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="80"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JP" summary="Jump if parity (PF == 1)">
<InstructionForm gas-name="jp" go-name="JPS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7A"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jp" go-name="JPS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8A"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JPE" summary="Jump if parity even (PF == 1)">
<InstructionForm gas-name="jpe" go-name="JPS">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7A"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jpe" go-name="JPS">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8A"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JPO" summary="Jump if parity odd (PF == 0)">
<InstructionForm gas-name="jpo" go-name="JPC">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="7B"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jpo" go-name="JPC">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="8B"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JS" summary="Jump if sign (SF == 1)">
<InstructionForm gas-name="js" go-name="JMI">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="78"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="js" go-name="JMI">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="88"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="JZ" summary="Jump if zero (ZF == 1)">
<InstructionForm gas-name="jz" go-name="JEQ">
<Operand type="rel8"/>
<Encoding>
<Opcode byte="74"/>
<CodeOffset size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="jz" go-name="JEQ">
<Operand type="rel32"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="84"/>
<CodeOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KADDB" summary="ADD Two 8-bit Masks">
<InstructionForm gas-name="kaddb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KADDD" summary="ADD Two 32-bit Masks">
<InstructionForm gas-name="kaddd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KADDQ" summary="ADD Two 64-bit Masks">
<InstructionForm gas-name="kaddq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KADDW" summary="ADD Two 16-bit Masks">
<InstructionForm gas-name="kaddw">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDB" summary="Bitwise Logical AND 8-bit Masks">
<InstructionForm gas-name="kandb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDD" summary="Bitwise Logical AND 32-bit Masks">
<InstructionForm gas-name="kandd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDNB" summary="Bitwise Logical AND NOT 8-bit Masks">
<InstructionForm gas-name="kandnb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDND" summary="Bitwise Logical AND NOT 32-bit Masks">
<InstructionForm gas-name="kandnd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDNQ" summary="Bitwise Logical AND NOT 64-bit Masks">
<InstructionForm gas-name="kandnq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDNW" summary="Bitwise Logical AND NOT 16-bit Masks">
<InstructionForm gas-name="kandnw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDQ" summary="Bitwise Logical AND 64-bit Masks">
<InstructionForm gas-name="kandq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KANDW" summary="Bitwise Logical AND 16-bit Masks">
<InstructionForm gas-name="kandw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KMOVB" summary="Move 8-bit Mask">
<InstructionForm gas-name="kmovb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovb">
<ISA id="AVX512DQ"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovb">
<ISA id="AVX512DQ"/>
<Operand type="m8" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="91"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KMOVD" summary="Move 32-bit Mask">
<InstructionForm gas-name="kmovd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovd">
<ISA id="AVX512BW"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovd">
<ISA id="AVX512BW"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="91"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KMOVQ" summary="Move 64-bit Mask">
<InstructionForm gas-name="kmovq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovq">
<ISA id="AVX512BW"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="91"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KMOVW" summary="Move 16-bit Mask">
<InstructionForm gas-name="kmovw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovw">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="kmovw">
<ISA id="AVX512F"/>
<Operand type="m16" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="91"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KNOTB" summary="NOT 8-bit Mask Register">
<InstructionForm gas-name="knotb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KNOTD" summary="NOT 32-bit Mask Register">
<InstructionForm gas-name="knotd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KNOTQ" summary="NOT 64-bit Mask Register">
<InstructionForm gas-name="knotq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KNOTW" summary="NOT 16-bit Mask Register">
<InstructionForm gas-name="knotw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORB" summary="Bitwise Logical OR 8-bit Masks">
<InstructionForm gas-name="korb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORD" summary="Bitwise Logical OR 32-bit Masks">
<InstructionForm gas-name="kord">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORQ" summary="Bitwise Logical OR 64-bit Masks">
<InstructionForm gas-name="korq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORTESTB" summary="OR 8-bit Masks and Set Flags">
<InstructionForm gas-name="kortestb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORTESTD" summary="OR 32-bit Masks and Set Flags">
<InstructionForm gas-name="kortestd">
<ISA id="AVX512BW"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORTESTQ" summary="OR 64-bit Masks and Set Flags">
<InstructionForm gas-name="kortestq">
<ISA id="AVX512BW"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORTESTW" summary="OR 16-bit Masks and Set Flags">
<InstructionForm gas-name="kortestw">
<ISA id="AVX512F"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KORW" summary="Bitwise Logical OR 16-bit Masks">
<InstructionForm gas-name="korw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTLB" summary="Shift Left 8-bit Masks">
<InstructionForm gas-name="kshiftlb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTLD" summary="Shift Left 32-bit Masks">
<InstructionForm gas-name="kshiftld">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTLQ" summary="Shift Left 64-bit Masks">
<InstructionForm gas-name="kshiftlq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTLW" summary="Shift Left 16-bit Masks">
<InstructionForm gas-name="kshiftlw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTRB" summary="Shift Right 8-bit Masks">
<InstructionForm gas-name="kshiftrb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTRD" summary="Shift Right 32-bit Masks">
<InstructionForm gas-name="kshiftrd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTRQ" summary="Shift Right 64-bit Masks">
<InstructionForm gas-name="kshiftrq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KSHIFTRW" summary="Shift Right 16-bit Masks">
<InstructionForm gas-name="kshiftrw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KTESTB" summary="Bit Test 8-bit Masks and Set Flags">
<InstructionForm gas-name="ktestb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KTESTD" summary="Bit Test 32-bit Masks and Set Flags">
<InstructionForm gas-name="ktestd">
<ISA id="AVX512BW"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KTESTQ" summary="Bit Test 64-bit Masks and Set Flags">
<InstructionForm gas-name="ktestq">
<ISA id="AVX512BW"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KTESTW" summary="Bit Test 16-bit Masks and Set Flags">
<InstructionForm gas-name="ktestw">
<ISA id="AVX512DQ"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KUNPCKBW" summary="Unpack and Interleave 8-bit Masks">
<InstructionForm gas-name="kunpckbw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KUNPCKDQ" summary="Unpack and Interleave 32-bit Masks">
<InstructionForm gas-name="kunpckdq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KUNPCKWD" summary="Unpack and Interleave 16-bit Masks">
<InstructionForm gas-name="kunpckwd">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXNORB" summary="Bitwise Logical XNOR 8-bit Masks">
<InstructionForm gas-name="kxnorb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXNORD" summary="Bitwise Logical XNOR 32-bit Masks">
<InstructionForm gas-name="kxnord">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXNORQ" summary="Bitwise Logical XNOR 64-bit Masks">
<InstructionForm gas-name="kxnorq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXNORW" summary="Bitwise Logical XNOR 16-bit Masks">
<InstructionForm gas-name="kxnorw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXORB" summary="Bitwise Logical XOR 8-bit Masks">
<InstructionForm gas-name="kxorb">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXORD" summary="Bitwise Logical XOR 32-bit Masks">
<InstructionForm gas-name="kxord">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXORQ" summary="Bitwise Logical XOR 64-bit Masks">
<InstructionForm gas-name="kxorq">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="KXORW" summary="Bitwise Logical XOR 16-bit Masks">
<InstructionForm gas-name="kxorw">
<ISA id="AVX512F"/>
<Operand type="k" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LAHF" summary="Load Status Flags into AH Register">
<InstructionForm gas-name="lahf" go-name="LAHF">
<Encoding>
<Opcode byte="9F"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LDDQU" summary="Load Unaligned Integer 128 Bits">
<InstructionForm gas-name="lddqu" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LDMXCSR" summary="Load MXCSR Register">
<InstructionForm gas-name="ldmxcsr" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AE"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LEA" summary="Load Effective Address">
<InstructionForm gas-name="leaw" go-name="LEAW">
<Operand type="r16" input="false" output="true"/>
<Operand type="m" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="8D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="leal" go-name="LEAL">
<Operand type="r32" input="false" output="true"/>
<Operand type="m" input="true" output="false"/>
<Encoding>
<Opcode byte="8D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LFENCE" summary="Load Fence">
<InstructionForm gas-name="lfence" go-name="LFENCE">
<ISA id="SSE2"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AE"/>
<Opcode byte="E8"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="LZCNT" summary="Count the Number of Leading Zero Bits">
<InstructionForm gas-name="lzcntw">
<ISA id="LZCNT"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="lzcntw">
<ISA id="LZCNT"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="lzcntl">
<ISA id="LZCNT"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="lzcntl">
<ISA id="LZCNT"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MASKMOVDQU" summary="Store Selected Bytes of Double Quadword">
<InstructionForm gas-name="maskmovdqu" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<ImplicitOperand id="edi" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MASKMOVQ" summary="Store Selected Bytes of Quadword">
<InstructionForm gas-name="maskmovq" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="false"/>
<Operand type="mm" input="true" output="false"/>
<ImplicitOperand id="edi" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MAXPD" summary="Return Maximum Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="maxpd" go-name="MAXPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="maxpd" go-name="MAXPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MAXPS" summary="Return Maximum Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="maxps" go-name="MAXPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="maxps" go-name="MAXPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MAXSD" summary="Return Maximum Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="maxsd" go-name="MAXSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="maxsd" go-name="MAXSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MAXSS" summary="Return Maximum Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="maxss" go-name="MAXSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="maxss" go-name="MAXSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MFENCE" summary="Memory Fence">
<InstructionForm gas-name="mfence" go-name="MFENCE">
<ISA id="SSE2"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AE"/>
<Opcode byte="F0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MINPD" summary="Return Minimum Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="minpd" go-name="MINPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="minpd" go-name="MINPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MINPS" summary="Return Minimum Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="minps" go-name="MINPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="minps" go-name="MINPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MINSD" summary="Return Minimum Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="minsd" go-name="MINSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="minsd" go-name="MINSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MINSS" summary="Return Minimum Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="minss" go-name="MINSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="minss" go-name="MINSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOV" summary="Move">
<InstructionForm gas-name="movb" go-name="MOVB">
<Operand type="r8" input="false" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C6"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
<Encoding>
<Opcode byte="B0" addend="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movb" go-name="MOVB">
<Operand type="r8" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="88"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movb" go-name="MOVB">
<Operand type="r8" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="8A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movw" go-name="MOVW">
<Operand type="r16" input="false" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="B8" addend="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movw" go-name="MOVW">
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movw" go-name="MOVW">
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="8B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movabs">
<Operand type="eax" input="false" output="true"/>
<Operand type="moffs32"/>
<Encoding>
<Opcode byte="A1"/>
<DataOffset size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movl" go-name="MOVL">
<Operand type="r32" input="false" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="C7"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
<Encoding>
<Opcode byte="B8" addend="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movl" go-name="MOVL">
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="89"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movl" go-name="MOVL">
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="8B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movb" go-name="MOVB">
<Operand type="m8" input="false" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movb" go-name="MOVB">
<Operand type="m8" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="88"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movw" go-name="MOVW">
<Operand type="m16" input="false" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movw" go-name="MOVW">
<Operand type="m16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="89"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movl" go-name="MOVL">
<Operand type="m32" input="false" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movl" go-name="MOVL">
<Operand type="m32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="89"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movabs">
<Operand type="moffs32"/>
<Operand type="eax" input="true" output="false"/>
<Encoding>
<Opcode byte="A3"/>
<DataOffset size="4" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVAPD" summary="Move Aligned Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="movapd" go-name="MOVAPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movapd" go-name="MOVAPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movapd" go-name="MOVAPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVAPS" summary="Move Aligned Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="movaps" go-name="MOVAPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movaps" go-name="MOVAPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movaps" go-name="MOVAPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVBE" summary="Move Data After Swapping Bytes">
<InstructionForm gas-name="movbew">
<ISA id="MOVBE"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movbel">
<ISA id="MOVBE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movbew">
<ISA id="MOVBE"/>
<Operand type="m16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movbel">
<ISA id="MOVBE"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="F1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVD" summary="Move Doubleword">
<InstructionForm gas-name="movd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVDDUP" summary="Move One Double-FP and Duplicate">
<InstructionForm gas-name="movddup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movddup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVDQ2Q" summary="Move Quadword from XMM to MMX Technology Register">
<InstructionForm gas-name="movdq2q" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVDQA" summary="Move Aligned Double Quadword">
<InstructionForm gas-name="movdqa" go-name="MOVO" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movdqa" go-name="MOVO" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movdqa" go-name="MOVO" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVDQU" summary="Move Unaligned Double Quadword">
<InstructionForm gas-name="movdqu" go-name="MOVOU" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movdqu" go-name="MOVOU" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movdqu" go-name="MOVOU" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVHLPS" summary="Move Packed Single-Precision Floating-Point Values High to Low">
<InstructionForm gas-name="movhlps" go-name="MOVHLPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVHPD" summary="Move High Packed Double-Precision Floating-Point Value">
<InstructionForm gas-name="movhpd" go-name="MOVHPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movhpd" go-name="MOVHPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVHPS" summary="Move High Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="movhps" go-name="MOVHPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movhps" go-name="MOVHPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVLHPS" summary="Move Packed Single-Precision Floating-Point Values Low to High">
<InstructionForm gas-name="movlhps" go-name="MOVLHPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVLPD" summary="Move Low Packed Double-Precision Floating-Point Value">
<InstructionForm gas-name="movlpd" go-name="MOVLPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movlpd" go-name="MOVLPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVLPS" summary="Move Low Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="movlps" go-name="MOVLPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movlps" go-name="MOVLPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVMSKPD" summary="Extract Packed Double-Precision Floating-Point Sign Mask">
<InstructionForm gas-name="movmskpd" go-name="MOVMSKPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVMSKPS" summary="Extract Packed Single-Precision Floating-Point Sign Mask">
<InstructionForm gas-name="movmskps" go-name="MOVMSKPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTDQ" summary="Store Double Quadword Using Non-Temporal Hint">
<InstructionForm gas-name="movntdq" go-name="MOVNTO" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTDQA" summary="Load Double Quadword Non-Temporal Aligned Hint">
<InstructionForm gas-name="movntdqa" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTI" summary="Store Doubleword Using Non-Temporal Hint">
<InstructionForm gas-name="movntil">
<ISA id="SSE2"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTPD" summary="Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="movntpd" go-name="MOVNTPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTPS" summary="Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="movntps" go-name="MOVNTPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTQ" summary="Store of Quadword Using Non-Temporal Hint">
<InstructionForm gas-name="movntq" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTSD" summary="Store Scalar Double-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="movntsd" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVNTSS" summary="Store Scalar Single-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="movntss" xmm-mode="SSE">
<ISA id="SSE4A"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVQ" summary="Move Quadword">
<InstructionForm gas-name="movq" go-name="MOVQ" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movq" go-name="MOVQ" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movq" go-name="MOVQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movq" go-name="MOVQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="7E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movq" go-name="MOVQ" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movq" go-name="MOVQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D6"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVQ2DQ" summary="Move Quadword from MMX Technology to XMM Register">
<InstructionForm gas-name="movq2dq" mmx-mode="MMX" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVSD" summary="Move Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="movsd" go-name="MOVSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsd" go-name="MOVSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsd" go-name="MOVSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVSHDUP" summary="Move Packed Single-FP High and Duplicate">
<InstructionForm gas-name="movshdup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movshdup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVSLDUP" summary="Move Packed Single-FP Low and Duplicate">
<InstructionForm gas-name="movsldup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsldup" xmm-mode="SSE">
<ISA id="SSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVSS" summary="Move Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="movss" go-name="MOVSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movss" go-name="MOVSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movss" go-name="MOVSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVSX" summary="Move with Sign-Extension">
<InstructionForm gas-name="movsbw" go-name="MOVBWSX">
<Operand type="r16" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsbw" go-name="MOVBWSX">
<Operand type="r16" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="BE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsbl" go-name="MOVBLSX">
<Operand type="r32" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movswl" go-name="MOVWLSX">
<Operand type="r32" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movsbl" go-name="MOVBLSX">
<Operand type="r32" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movswl" go-name="MOVWLSX">
<Operand type="r32" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="BF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVUPD" summary="Move Unaligned Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="movupd" go-name="MOVUPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movupd" go-name="MOVUPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movupd" go-name="MOVUPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVUPS" summary="Move Unaligned Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="movups" go-name="MOVUPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movups" go-name="MOVUPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movups" go-name="MOVUPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MOVZX" summary="Move with Zero-Extend">
<InstructionForm gas-name="movzbw" go-name="MOVBWZX">
<Operand type="r16" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movzbw" go-name="MOVBWZX">
<Operand type="r16" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="B6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movzbl" go-name="MOVBLZX">
<Operand type="r32" input="false" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movzwl" go-name="MOVWLZX">
<Operand type="r32" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movzbl" go-name="MOVBLZX">
<Operand type="r32" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="movzwl" go-name="MOVWLZX">
<Operand type="r32" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="B7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MPSADBW" summary="Compute Multiple Packed Sums of Absolute Difference">
<InstructionForm gas-name="mpsadbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mpsadbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MUL" summary="Unsigned Multiply">
<InstructionForm gas-name="mulb" go-name="MULB">
<Operand type="r8" input="true" output="false"/>
<ImplicitOperand id="ax" input="false" output="true"/>
<ImplicitOperand id="al" input="true" output="false"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulw" go-name="MULW">
<Operand type="r16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mull" go-name="MULL">
<Operand type="r32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulb" go-name="MULB">
<Operand type="m8" input="true" output="false"/>
<ImplicitOperand id="ax" input="false" output="true"/>
<ImplicitOperand id="al" input="true" output="false"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulw" go-name="MULW">
<Operand type="m16" input="true" output="false"/>
<ImplicitOperand id="ax" input="true" output="true"/>
<ImplicitOperand id="dx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mull" go-name="MULL">
<Operand type="m32" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MULPD" summary="Multiply Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="mulpd" go-name="MULPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulpd" go-name="MULPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MULPS" summary="Multiply Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="mulps" go-name="MULPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulps" go-name="MULPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MULSD" summary="Multiply Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="mulsd" go-name="MULSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulsd" go-name="MULSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MULSS" summary="Multiply Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="mulss" go-name="MULSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulss" go-name="MULSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="MULX" summary="Unsigned Multiply Without Affecting Flags">
<InstructionForm gas-name="mulxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="mulxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="NEG" summary="Two's Complement Negation">
<InstructionForm gas-name="negb" go-name="NEGB">
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="negw" go-name="NEGW">
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="negl" go-name="NEGL">
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="negb" go-name="NEGB">
<Operand type="m8" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="negw" go-name="NEGW">
<Operand type="m16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="negl" go-name="NEGL">
<Operand type="m32" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="NOP" summary="No Operation">
<InstructionForm gas-name="nop" go-name="NOP">
<Encoding>
<Opcode byte="90"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="NOT" summary="One's Complement Negation">
<InstructionForm gas-name="notb" go-name="NOTB">
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="notw" go-name="NOTW">
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="notl" go-name="NOTL">
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="notb" go-name="NOTB">
<Operand type="m8" input="true" output="true"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="notw" go-name="NOTW">
<Operand type="m16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="notl" go-name="NOTL">
<Operand type="m32" input="true" output="true"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="OR" summary="Logical Inclusive OR">
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0C"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="08"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0D"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="0D"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="09"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orb" go-name="ORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="08"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orw" go-name="ORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="09"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orl" go-name="ORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="09"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ORPD" summary="Bitwise Logical OR of Double-Precision Floating-Point Values">
<InstructionForm gas-name="orpd" go-name="ORPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orpd" go-name="ORPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ORPS" summary="Bitwise Logical OR of Single-Precision Floating-Point Values">
<InstructionForm gas-name="orps" go-name="ORPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="orps" go-name="ORPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PABSB" summary="Packed Absolute Value of Byte Integers">
<InstructionForm gas-name="pabsb" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsb" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsb" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsb" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PABSD" summary="Packed Absolute Value of Doubleword Integers">
<InstructionForm gas-name="pabsd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PABSW" summary="Packed Absolute Value of Word Integers">
<InstructionForm gas-name="pabsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pabsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PACKSSDW" summary="Pack Doublewords into Words with Signed Saturation">
<InstructionForm gas-name="packssdw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packssdw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packssdw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packssdw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PACKSSWB" summary="Pack Words into Bytes with Signed Saturation">
<InstructionForm gas-name="packsswb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packsswb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="63"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packsswb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packsswb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="63"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PACKUSDW" summary="Pack Doublewords into Words with Unsigned Saturation">
<InstructionForm gas-name="packusdw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packusdw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="2B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PACKUSWB" summary="Pack Words into Bytes with Unsigned Saturation">
<InstructionForm gas-name="packuswb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packuswb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="67"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packuswb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="packuswb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="67"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDB" summary="Add Packed Byte Integers">
<InstructionForm gas-name="paddb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDD" summary="Add Packed Doubleword Integers">
<InstructionForm gas-name="paddd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDQ" summary="Add Packed Quadword Integers">
<InstructionForm gas-name="paddq" go-name="PADDQ" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddq" go-name="PADDQ" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddq" go-name="PADDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddq" go-name="PADDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDSB" summary="Add Packed Signed Byte Integers with Signed Saturation">
<InstructionForm gas-name="paddsb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDSW" summary="Add Packed Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="paddsw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="ED"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddsw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="ED"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDUSB" summary="Add Packed Unsigned Byte Integers with Unsigned Saturation">
<InstructionForm gas-name="paddusb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDUSW" summary="Add Packed Unsigned Word Integers with Unsigned Saturation">
<InstructionForm gas-name="paddusw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddusw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PADDW" summary="Add Packed Word Integers">
<InstructionForm gas-name="paddw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="paddw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PALIGNR" summary="Packed Align Right">
<InstructionForm gas-name="palignr" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="palignr" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="palignr" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="palignr" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PAND" summary="Packed Bitwise Logical AND">
<InstructionForm gas-name="pand" go-name="PAND" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pand" go-name="PAND" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pand" go-name="PAND" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pand" go-name="PAND" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PANDN" summary="Packed Bitwise Logical AND NOT">
<InstructionForm gas-name="pandn" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pandn" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pandn" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pandn" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PAUSE" summary="Spin Loop Hint">
<InstructionForm gas-name="pause" go-name="PAUSE">
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="90"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PAVGB" summary="Average Packed Byte Integers">
<InstructionForm gas-name="pavgb" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgb" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PAVGUSB" summary="Average Packed Byte Integers">
<InstructionForm gas-name="pavgusb" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="BF"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgusb" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="BF"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PAVGW" summary="Average Packed Word Integers">
<InstructionForm gas-name="pavgw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pavgw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PBLENDVB" summary="Variable Blend Packed Bytes">
<InstructionForm gas-name="pblendvb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pblendvb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PBLENDW" summary="Blend Packed Words">
<InstructionForm gas-name="pblendw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pblendw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCLMULQDQ" summary="Carry-Less Quadword Multiplication">
<InstructionForm gas-name="pclmulqdq" xmm-mode="SSE">
<ISA id="PCLMULQDQ"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pclmulqdq" xmm-mode="SSE">
<ISA id="PCLMULQDQ"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPEQB" summary="Compare Packed Byte Data for Equality">
<InstructionForm gas-name="pcmpeqb" go-name="PCMPEQB" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqb" go-name="PCMPEQB" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="74"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqb" go-name="PCMPEQB" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqb" go-name="PCMPEQB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="74"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPEQD" summary="Compare Packed Doubleword Data for Equality">
<InstructionForm gas-name="pcmpeqd" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="76"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqd" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="76"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPEQQ" summary="Compare Packed Quadword Data for Equality">
<InstructionForm gas-name="pcmpeqq" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="29"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPEQW" summary="Compare Packed Word Data for Equality">
<InstructionForm gas-name="pcmpeqw" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="75"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqw" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpeqw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="75"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPESTRI" summary="Packed Compare Explicit Length Strings, Return Index">
<InstructionForm gas-name="pcmpestri" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpestri" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="61"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPESTRM" summary="Packed Compare Explicit Length Strings, Return Mask">
<InstructionForm gas-name="pcmpestrm" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpestrm" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="60"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPGTB" summary="Compare Packed Signed Byte Integers for Greater Than">
<InstructionForm gas-name="pcmpgtb" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtb" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="64"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtb" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtb" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="64"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPGTD" summary="Compare Packed Signed Doubleword Integers for Greater Than">
<InstructionForm gas-name="pcmpgtd" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtd" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPGTQ" summary="Compare Packed Data for Greater Than">
<InstructionForm gas-name="pcmpgtq" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtq" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="37"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPGTW" summary="Compare Packed Signed Word Integers for Greater Than">
<InstructionForm gas-name="pcmpgtw" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="65"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtw" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpgtw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="65"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPISTRI" summary="Packed Compare Implicit Length Strings, Return Index">
<InstructionForm gas-name="pcmpistri" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpistri" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="63"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PCMPISTRM" summary="Packed Compare Implicit Length Strings, Return Mask">
<InstructionForm gas-name="pcmpistrm" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pcmpistrm" xmm-mode="SSE">
<ISA id="SSE4.2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="62"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PDEP" summary="Parallel Bits Deposit">
<InstructionForm gas-name="pdep">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pdep">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PEXT" summary="Parallel Bits Extract">
<InstructionForm gas-name="pext">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pext">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PEXTRB" summary="Extract Byte">
<InstructionForm gas-name="pextrb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pextrb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="m8" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PEXTRD" summary="Extract Doubleword">
<InstructionForm gas-name="pextrd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pextrd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="16"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PEXTRW" summary="Extract Word">
<InstructionForm gas-name="pextrw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pextrw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pextrw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="m16" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PF2ID" summary="Packed Floating-Point to Integer Doubleword Converson">
<InstructionForm gas-name="pf2id" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="1D"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pf2id" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="1D"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PF2IW" summary="Packed Floating-Point to Integer Word Conversion">
<InstructionForm gas-name="pf2iw" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="1C"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pf2iw" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="1C"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFACC" summary="Packed Floating-Point Accumulate">
<InstructionForm gas-name="pfacc" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="AE"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfacc" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="AE"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFADD" summary="Packed Floating-Point Add">
<InstructionForm gas-name="pfadd" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="9E"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfadd" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="9E"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFCMPEQ" summary="Packed Floating-Point Compare for Equal">
<InstructionForm gas-name="pfcmpeq" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="B0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfcmpeq" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="B0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFCMPGE" summary="Packed Floating-Point Compare for Greater or Equal">
<InstructionForm gas-name="pfcmpge" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="90"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfcmpge" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="90"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFCMPGT" summary="Packed Floating-Point Compare for Greater Than">
<InstructionForm gas-name="pfcmpgt" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="A0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfcmpgt" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="A0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFMAX" summary="Packed Floating-Point Maximum">
<InstructionForm gas-name="pfmax" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="A4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfmax" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="A4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFMIN" summary="Packed Floating-Point Minimum">
<InstructionForm gas-name="pfmin" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="94"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfmin" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="94"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFMUL" summary="Packed Floating-Point Multiply">
<InstructionForm gas-name="pfmul" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="B4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfmul" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="B4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFNACC" summary="Packed Floating-Point Negative Accumulate">
<InstructionForm gas-name="pfnacc" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="8A"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfnacc" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="8A"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFPNACC" summary="Packed Floating-Point Positive-Negative Accumulate">
<InstructionForm gas-name="pfpnacc" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="8E"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfpnacc" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="8E"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRCP" summary="Packed Floating-Point Reciprocal Approximation">
<InstructionForm gas-name="pfrcp" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="96"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrcp" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="96"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRCPIT1" summary="Packed Floating-Point Reciprocal Iteration 1">
<InstructionForm gas-name="pfrcpit1" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="A6"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrcpit1" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="A6"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRCPIT2" summary="Packed Floating-Point Reciprocal Iteration 2">
<InstructionForm gas-name="pfrcpit2" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="B6"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrcpit2" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="B6"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRCPV" summary="Packed Floating-Point Reciprocal Approximation Vector">
<InstructionForm gas-name="pfrcpv" mmx-mode="MMX">
<ISA id="3dnow! Geode"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="86"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrcpv" mmx-mode="MMX">
<ISA id="3dnow! Geode"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="86"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRSQIT1" summary="Packed Floating-Point Reciprocal Square Root Iteration 1">
<InstructionForm gas-name="pfrsqit1" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="A7"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrsqit1" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="A7"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRSQRT" summary="Packed Floating-Point Reciprocal Square Root Approximation">
<InstructionForm gas-name="pfrsqrt" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="97"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrsqrt" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="97"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFRSQRTV" summary="Packed Floating-Point Reciprocal Square Root Approximation Vector">
<InstructionForm gas-name="pfrsqrtv" mmx-mode="MMX">
<ISA id="3dnow! Geode"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="87"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfrsqrtv" mmx-mode="MMX">
<ISA id="3dnow! Geode"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="87"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFSUB" summary="Packed Floating-Point Subtract">
<InstructionForm gas-name="pfsub" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="9A"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfsub" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="9A"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PFSUBR" summary="Packed Floating-Point Subtract Reverse">
<InstructionForm gas-name="pfsubr" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="AA"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pfsubr" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="AA"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHADDD" summary="Packed Horizontal Add Doubleword Integer">
<InstructionForm gas-name="phaddd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="02"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHADDSW" summary="Packed Horizontal Add Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="phaddsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="03"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="03"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHADDW" summary="Packed Horizontal Add Word Integers">
<InstructionForm gas-name="phaddw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phaddw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHMINPOSUW" summary="Packed Horizontal Minimum of Unsigned Word Integers">
<InstructionForm gas-name="phminposuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phminposuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="41"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHSUBD" summary="Packed Horizontal Subtract Doubleword Integers">
<InstructionForm gas-name="phsubd" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="06"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="06"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubd" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="06"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="06"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHSUBSW" summary="Packed Horizontal Subtract Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="phsubsw" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="07"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="07"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubsw" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="07"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="07"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PHSUBW" summary="Packed Horizontal Subtract Word Integers">
<InstructionForm gas-name="phsubw" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubw" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="phsubw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PI2FD" summary="Packed Integer to Floating-Point Doubleword Conversion">
<InstructionForm gas-name="pi2fd" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="0D"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pi2fd" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="0D"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PI2FW" summary="Packed Integer to Floating-Point Word Conversion">
<InstructionForm gas-name="pi2fw" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="0C"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pi2fw" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="0C"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PINSRB" summary="Insert Byte">
<InstructionForm gas-name="pinsrb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pinsrb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PINSRD" summary="Insert Doubleword">
<InstructionForm gas-name="pinsrd" go-name="PINSRD" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pinsrd" go-name="PINSRD" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PINSRW" summary="Insert Word">
<InstructionForm gas-name="pinsrw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pinsrw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pinsrw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pinsrw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMADDUBSW" summary="Multiply and Add Packed Signed and Unsigned Byte Integers">
<InstructionForm gas-name="pmaddubsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddubsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddubsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddubsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMADDWD" summary="Multiply and Add Packed Signed Word Integers">
<InstructionForm gas-name="pmaddwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaddwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXSB" summary="Maximum of Packed Signed Byte Integers">
<InstructionForm gas-name="pmaxsb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxsb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXSD" summary="Maximum of Packed Signed Doubleword Integers">
<InstructionForm gas-name="pmaxsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXSW" summary="Maximum of Packed Signed Word Integers">
<InstructionForm gas-name="pmaxsw" go-name="PMAXSW" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxsw" go-name="PMAXSW" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxsw" go-name="PMAXSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxsw" go-name="PMAXSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXUB" summary="Maximum of Packed Unsigned Byte Integers">
<InstructionForm gas-name="pmaxub" go-name="PMAXUB" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxub" go-name="PMAXUB" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxub" go-name="PMAXUB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxub" go-name="PMAXUB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DE"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXUD" summary="Maximum of Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="pmaxud" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxud" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMAXUW" summary="Maximum of Packed Unsigned Word Integers">
<InstructionForm gas-name="pmaxuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmaxuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINSB" summary="Minimum of Packed Signed Byte Integers">
<InstructionForm gas-name="pminsb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminsb" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="38"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINSD" summary="Minimum of Packed Signed Doubleword Integers">
<InstructionForm gas-name="pminsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="39"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINSW" summary="Minimum of Packed Signed Word Integers">
<InstructionForm gas-name="pminsw" go-name="PMINSW" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminsw" go-name="PMINSW" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminsw" go-name="PMINSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminsw" go-name="PMINSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINUB" summary="Minimum of Packed Unsigned Byte Integers">
<InstructionForm gas-name="pminub" go-name="PMINUB" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminub" go-name="PMINUB" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="DA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminub" go-name="PMINUB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminub" go-name="PMINUB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="DA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINUD" summary="Minimum of Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="pminud" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminud" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMINUW" summary="Minimum of Packed Unsigned Word Integers">
<InstructionForm gas-name="pminuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pminuw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="3A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVMSKB" summary="Move Byte Mask">
<InstructionForm gas-name="pmovmskb" go-name="PMOVMSKB" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovmskb" go-name="PMOVMSKB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXBD" summary="Move Packed Byte Integers to Doubleword Integers with Sign Extension">
<InstructionForm gas-name="pmovsxbd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxbd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXBQ" summary="Move Packed Byte Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="pmovsxbq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxbq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXBW" summary="Move Packed Byte Integers to Word Integers with Sign Extension">
<InstructionForm gas-name="pmovsxbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXDQ" summary="Move Packed Doubleword Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="pmovsxdq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxdq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXWD" summary="Move Packed Word Integers to Doubleword Integers with Sign Extension">
<InstructionForm gas-name="pmovsxwd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxwd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVSXWQ" summary="Move Packed Word Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="pmovsxwq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovsxwq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXBD" summary="Move Packed Byte Integers to Doubleword Integers with Zero Extension">
<InstructionForm gas-name="pmovzxbd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxbd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXBQ" summary="Move Packed Byte Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="pmovzxbq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxbq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXBW" summary="Move Packed Byte Integers to Word Integers with Zero Extension">
<InstructionForm gas-name="pmovzxbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxbw" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXDQ" summary="Move Packed Doubleword Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="pmovzxdq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxdq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXWD" summary="Move Packed Word Integers to Doubleword Integers with Zero Extension">
<InstructionForm gas-name="pmovzxwd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxwd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMOVZXWQ" summary="Move Packed Word Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="pmovzxwq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmovzxwq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULDQ" summary="Multiply Packed Signed Doubleword Integers and Store Quadword Result">
<InstructionForm gas-name="pmuldq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmuldq" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULHRSW" summary="Packed Multiply Signed Word Integers and Store High Result with Round and Scale">
<InstructionForm gas-name="pmulhrsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhrsw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhrsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhrsw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULHRW" summary="Packed Multiply High Rounded Word">
<InstructionForm gas-name="pmulhrw" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="B7"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhrw" mmx-mode="MMX">
<ISA id="3dnow!"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="B7"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULHUW" summary="Multiply Packed Unsigned Word Integers and Store High Result">
<InstructionForm gas-name="pmulhuw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhuw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhuw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhuw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULHW" summary="Multiply Packed Signed Word Integers and Store High Result">
<InstructionForm gas-name="pmulhw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulhw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULLD" summary="Multiply Packed Signed Doubleword Integers and Store Low Result">
<InstructionForm gas-name="pmulld" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmulld" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="40"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULLW" summary="Multiply Packed Signed Word Integers and Store Low Result">
<InstructionForm gas-name="pmullw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmullw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmullw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmullw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D5"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PMULUDQ" summary="Multiply Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="pmuludq" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmuludq" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmuludq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pmuludq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="POP" summary="Pop a Value from the Stack">
<InstructionForm gas-name="popw" go-name="POPW">
<Operand type="r16" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="58" addend="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="8F"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popl" go-name="POPL">
<Operand type="r32" input="false" output="true"/>
<Encoding>
<Opcode byte="58" addend="#0"/>
</Encoding>
<Encoding>
<Opcode byte="8F"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popw" go-name="POPW">
<Operand type="m16" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="8F"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popl" go-name="POPL">
<Operand type="m32" input="false" output="true"/>
<Encoding>
<Opcode byte="8F"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="POPCNT" summary="Count of Number of Bits Set to 1">
<InstructionForm gas-name="popcntw">
<ISA id="POPCNT"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popcntw">
<ISA id="POPCNT"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="B8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popcntl">
<ISA id="POPCNT"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="popcntl">
<ISA id="POPCNT"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="B8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="POR" summary="Packed Bitwise Logical OR">
<InstructionForm gas-name="por" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="por" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="por" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="por" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHNTA" summary="Prefetch Data Into Caches using NTA Hint">
<InstructionForm gas-name="prefetchnta" go-name="PREFETCHNTA">
<ISA id="MMX+"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="18"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHT0" summary="Prefetch Data Into Caches using T0 Hint">
<InstructionForm gas-name="prefetcht0" go-name="PREFETCHT0">
<ISA id="MMX+"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="18"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHT1" summary="Prefetch Data Into Caches using T1 Hint">
<InstructionForm gas-name="prefetcht1" go-name="PREFETCHT1">
<ISA id="MMX+"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="18"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHT2" summary="Prefetch Data Into Caches using T2 Hint">
<InstructionForm gas-name="prefetcht2" go-name="PREFETCHT2">
<ISA id="MMX+"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="18"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHW" summary="Prefetch Data into Caches in Anticipation of a Write">
<InstructionForm gas-name="prefetchw">
<ISA id="PRFCHW"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0D"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PREFETCHWT1" summary="Prefetch Vector Data Into Caches with Intent to Write and T1 Hint">
<InstructionForm gas-name="prefetchwt1">
<ISA id="PREFETCHWT1"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0D"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSADBW" summary="Compute Sum of Absolute Differences">
<InstructionForm gas-name="psadbw" go-name="PSADBW" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psadbw" go-name="PSADBW" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psadbw" go-name="PSADBW" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psadbw" go-name="PSADBW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSHUFB" summary="Packed Shuffle Bytes">
<InstructionForm gas-name="pshufb" go-name="PSHUFB" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufb" go-name="PSHUFB" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="00"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufb" go-name="PSHUFB" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufb" go-name="PSHUFB" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="00"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSHUFD" summary="Shuffle Packed Doublewords">
<InstructionForm gas-name="pshufd" go-name="PSHUFL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufd" go-name="PSHUFL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSHUFHW" summary="Shuffle Packed High Words">
<InstructionForm gas-name="pshufhw" go-name="PSHUFHW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufhw" go-name="PSHUFHW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSHUFLW" summary="Shuffle Packed Low Words">
<InstructionForm gas-name="pshuflw" go-name="PSHUFLW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshuflw" go-name="PSHUFLW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSHUFW" summary="Shuffle Packed Words">
<InstructionForm gas-name="pshufw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pshufw" mmx-mode="MMX">
<ISA id="MMX+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSIGNB" summary="Packed Sign of Byte Integers">
<InstructionForm gas-name="psignb" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignb" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignb" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignb" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSIGND" summary="Packed Sign of Doubleword Integers">
<InstructionForm gas-name="psignd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignd" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignd" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="0A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSIGNW" summary="Packed Sign of Word Integers">
<InstructionForm gas-name="psignw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignw" mmx-mode="MMX">
<ISA id="SSSE3"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psignw" xmm-mode="SSE">
<ISA id="SSSE3"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSLLD" summary="Shift Packed Doubleword Data Left Logical">
<InstructionForm gas-name="pslld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pslld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pslld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pslld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pslld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pslld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSLLDQ" summary="Shift Packed Double Quadword Left Logical">
<InstructionForm gas-name="pslldq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSLLQ" summary="Shift Packed Quadword Data Left Logical">
<InstructionForm gas-name="psllq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSLLW" summary="Shift Packed Word Data Left Logical">
<InstructionForm gas-name="psllw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psllw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRAD" summary="Shift Packed Doubleword Data Right Arithmetic">
<InstructionForm gas-name="psrad" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrad" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrad" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrad" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrad" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrad" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRAW" summary="Shift Packed Word Data Right Arithmetic">
<InstructionForm gas-name="psraw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psraw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psraw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psraw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psraw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psraw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRLD" summary="Shift Packed Doubleword Data Right Logical">
<InstructionForm gas-name="psrld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrld" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrld" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRLDQ" summary="Shift Packed Double Quadword Right Logical">
<InstructionForm gas-name="psrldq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRLQ" summary="Shift Packed Quadword Data Right Logical">
<InstructionForm gas-name="psrlq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSRLW" summary="Shift Packed Word Data Right Logical">
<InstructionForm gas-name="psrlw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psrlw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBB" summary="Subtract Packed Byte Integers">
<InstructionForm gas-name="psubb" go-name="PSUBB" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubb" go-name="PSUBB" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubb" go-name="PSUBB" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubb" go-name="PSUBB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBD" summary="Subtract Packed Doubleword Integers">
<InstructionForm gas-name="psubd" go-name="PSUBL" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubd" go-name="PSUBL" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubd" go-name="PSUBL" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubd" go-name="PSUBL" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBQ" summary="Subtract Packed Quadword Integers">
<InstructionForm gas-name="psubq" go-name="PSUBQ" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubq" go-name="PSUBQ" mmx-mode="MMX">
<ISA id="SSE2"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="FB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubq" go-name="PSUBQ" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubq" go-name="PSUBQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="FB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBSB" summary="Subtract Packed Signed Byte Integers with Signed Saturation">
<InstructionForm gas-name="psubsb" go-name="PSUBSB" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsb" go-name="PSUBSB" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsb" go-name="PSUBSB" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsb" go-name="PSUBSB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBSW" summary="Subtract Packed Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="psubsw" go-name="PSUBSW" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsw" go-name="PSUBSW" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="E9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsw" go-name="PSUBSW" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubsw" go-name="PSUBSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="E9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBUSB" summary="Subtract Packed Unsigned Byte Integers with Unsigned Saturation">
<InstructionForm gas-name="psubusb" go-name="PSUBUSB" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusb" go-name="PSUBUSB" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusb" go-name="PSUBUSB" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusb" go-name="PSUBUSB" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBUSW" summary="Subtract Packed Unsigned Word Integers with Unsigned Saturation">
<InstructionForm gas-name="psubusw" go-name="PSUBUSW" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusw" go-name="PSUBUSW" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="D9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusw" go-name="PSUBUSW" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubusw" go-name="PSUBUSW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="D9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSUBW" summary="Subtract Packed Word Integers">
<InstructionForm gas-name="psubw" go-name="PSUBW" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubw" go-name="PSUBW" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="F9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubw" go-name="PSUBW" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="psubw" go-name="PSUBW" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="F9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PSWAPD" summary="Packed Swap Doubleword">
<InstructionForm gas-name="pswapd" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Opcode byte="BB"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pswapd" mmx-mode="MMX">
<ISA id="3dnow!+"/>
<Operand type="mm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Opcode byte="BB"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PTEST" summary="Packed Logical Compare">
<InstructionForm gas-name="ptest" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="ptest" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="17"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKHBW" summary="Unpack and Interleave High-Order Bytes into Words">
<InstructionForm gas-name="punpckhbw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhbw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="68"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhbw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhbw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="68"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKHDQ" summary="Unpack and Interleave High-Order Doublewords into Quadwords">
<InstructionForm gas-name="punpckhdq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhdq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="6A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhdq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhdq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKHQDQ" summary="Unpack and Interleave High-Order Quadwords into Double Quadwords">
<InstructionForm gas-name="punpckhqdq" go-name="PUNPCKHQDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhqdq" go-name="PUNPCKHQDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKHWD" summary="Unpack and Interleave High-Order Words into Doublewords">
<InstructionForm gas-name="punpckhwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="69"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckhwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="69"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKLBW" summary="Unpack and Interleave Low-Order Bytes into Words">
<InstructionForm gas-name="punpcklbw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklbw" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="60"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklbw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklbw" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="60"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKLDQ" summary="Unpack and Interleave Low-Order Doublewords into Quadwords">
<InstructionForm gas-name="punpckldq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckldq" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="62"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckldq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpckldq" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="62"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKLQDQ" summary="Unpack and Interleave Low-Order Quadwords into Double Quadwords">
<InstructionForm gas-name="punpcklqdq" go-name="PUNPCKLQDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklqdq" go-name="PUNPCKLQDQ" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="6C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUNPCKLWD" summary="Unpack and Interleave Low-Order Words into Doublewords">
<InstructionForm gas-name="punpcklwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklwd" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="61"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="punpcklwd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="61"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PUSH" summary="Push Value Onto the Stack">
<InstructionForm gas-name="pushq">
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="6A"/>
<Immediate size="1" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pushq">
<Operand type="imm32"/>
<Encoding>
<Opcode byte="68"/>
<Immediate size="4" value="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pushw" go-name="PUSHW">
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="50" addend="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pushl" go-name="PUSHL">
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="50" addend="#0"/>
</Encoding>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pushw" go-name="PUSHW">
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pushl" go-name="PUSHL">
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="FF"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="PXOR" summary="Packed Bitwise Logical Exclusive OR">
<InstructionForm gas-name="pxor" go-name="PXOR" mmx-mode="MMX" cancelling-inputs="true">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="mm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pxor" go-name="PXOR" mmx-mode="MMX">
<ISA id="MMX"/>
<Operand type="mm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="EF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pxor" go-name="PXOR" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="pxor" go-name="PXOR" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="EF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RCL" summary="Rotate Left through Carry Flag">
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclb" go-name="RCLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rclw" go-name="RCLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="2" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcll" go-name="RCLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RCPPS" summary="Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="rcpps" go-name="RCPPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="53"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcpps" go-name="RCPPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="53"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RCPSS" summary="Compute Approximate Reciprocal of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="rcpss" go-name="RCPSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="53"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcpss" go-name="RCPSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="53"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RCR" summary="Rotate Right through Carry Flag">
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrb" go-name="RCRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrw" go-name="RCRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rcrl" go-name="RCRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RDRAND" summary="Read Random Number">
<InstructionForm gas-name="rdrand">
<ISA id="RDRAND"/>
<Operand type="r16" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rdrand">
<ISA id="RDRAND"/>
<Operand type="r32" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RDSEED" summary="Read Random SEED">
<InstructionForm gas-name="rdseed">
<ISA id="RDSEED"/>
<Operand type="r16" input="false" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rdseed">
<ISA id="RDSEED"/>
<Operand type="r32" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RDTSC" summary="Read Time-Stamp Counter">
<InstructionForm gas-name="rdtsc" go-name="RDTSC">
<ISA id="RDTSC"/>
<ImplicitOperand id="eax" input="false" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="31"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RDTSCP" summary="Read Time-Stamp Counter and Processor ID">
<InstructionForm gas-name="rdtscp">
<ISA id="RDTSCP"/>
<ImplicitOperand id="eax" input="false" output="true"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="01"/>
<Opcode byte="F9"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RET" summary="Return from Procedure">
<InstructionForm gas-name="ret" go-name="RET">
<Encoding>
<Opcode byte="C3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="ret" go-name="RET">
<Operand type="imm16"/>
<Encoding>
<Opcode byte="C2"/>
<Immediate size="2" value="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROL" summary="Rotate Left">
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolb" go-name="ROLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rolw" go-name="ROLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roll" go-name="ROLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROR" summary="Rotate Right">
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorb" go-name="RORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorw" go-name="RORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="1" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorl" go-name="RORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RORX" summary="Rotate Right Logical Without Affecting Flags">
<InstructionForm gas-name="rorxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="F0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rorxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROUNDPD" summary="Round Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="roundpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roundpd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROUNDPS" summary="Round Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="roundps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roundps" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROUNDSD" summary="Round Scalar Double Precision Floating-Point Values">
<InstructionForm gas-name="roundsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roundsd" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="ROUNDSS" summary="Round Scalar Single Precision Floating-Point Values">
<InstructionForm gas-name="roundss" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="roundss" xmm-mode="SSE">
<ISA id="SSE4.1"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="0A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RSQRTPS" summary="Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="rsqrtps" go-name="RSQRTPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="52"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rsqrtps" go-name="RSQRTPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="52"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="RSQRTSS" summary="Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="rsqrtss" go-name="RSQRTSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="52"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="rsqrtss" go-name="RSQRTSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="52"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SAHF" summary="Store AH into Flags">
<InstructionForm gas-name="sahf" go-name="SAHF">
<Encoding>
<Opcode byte="9E"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SAL" summary="Arithmetic Shift Left">
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salb" go-name="SALB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="salw" go-name="SALW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sall" go-name="SALL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SAR" summary="Arithmetic Shift Right">
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarb" go-name="SARB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarw" go-name="SARW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="7" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarl" go-name="SARL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="7" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SARX" summary="Arithmetic Shift Right Without Affecting Flags">
<InstructionForm gas-name="sarxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="10" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sarxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="10" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SBB" summary="Subtract with Borrow">
<InstructionForm gas-name="sbbb" go-name="SBBB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="1C"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbb" go-name="SBBB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbb" go-name="SBBB" cancelling-inputs="true">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="18"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="1A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbb" go-name="SBBB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="1D"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW" cancelling-inputs="true">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="1B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="1B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="1D"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="3" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL" cancelling-inputs="true">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="1B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="1B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbb" go-name="SBBB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbb" go-name="SBBB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="18"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbw" go-name="SBBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="3" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sbbl" go-name="SBBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETA" summary="Set byte if above (CF == 0 and ZF == 0)">
<InstructionForm gas-name="seta" go-name="SETHI">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="seta" go-name="SETHI">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="97"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETAE" summary="Set byte if above or equal (CF == 0)">
<InstructionForm gas-name="setae" go-name="SETCC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setae" go-name="SETCC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETB" summary="Set byte if below (CF == 1)">
<InstructionForm gas-name="setb" go-name="SETCS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setb" go-name="SETCS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETBE" summary="Set byte if below or equal (CF == 1 or ZF == 1)">
<InstructionForm gas-name="setbe" go-name="SETLS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setbe" go-name="SETLS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="96"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETC" summary="Set byte if carry (CF == 1)">
<InstructionForm gas-name="setc" go-name="SETCS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setc" go-name="SETCS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETE" summary="Set byte if equal (ZF == 1)">
<InstructionForm gas-name="sete" go-name="SETEQ">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="94"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sete" go-name="SETEQ">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="94"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETG" summary="Set byte if greater (ZF == 0 and SF == OF)">
<InstructionForm gas-name="setg" go-name="SETGT">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setg" go-name="SETGT">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9F"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETGE" summary="Set byte if greater or equal (SF == OF)">
<InstructionForm gas-name="setge" go-name="SETGE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setge" go-name="SETGE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9D"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETL" summary="Set byte if less (SF != OF)">
<InstructionForm gas-name="setl" go-name="SETLT">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setl" go-name="SETLT">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9C"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETLE" summary="Set byte if less or equal (ZF == 1 or SF != OF)">
<InstructionForm gas-name="setle" go-name="SETLE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setle" go-name="SETLE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9E"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNA" summary="Set byte if not above (CF == 1 or ZF == 1)">
<InstructionForm gas-name="setna" go-name="SETLS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setna" go-name="SETLS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="96"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNAE" summary="Set byte if not above or equal (CF == 1)">
<InstructionForm gas-name="setnae" go-name="SETCS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnae" go-name="SETCS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="92"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNB" summary="Set byte if not below (CF == 0)">
<InstructionForm gas-name="setnb" go-name="SETCC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnb" go-name="SETCC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNBE" summary="Set byte if not below or equal (CF == 0 and ZF == 0)">
<InstructionForm gas-name="setnbe" go-name="SETHI">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnbe" go-name="SETHI">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="97"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNC" summary="Set byte if not carry (CF == 0)">
<InstructionForm gas-name="setnc" go-name="SETCC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnc" go-name="SETCC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="93"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNE" summary="Set byte if not equal (ZF == 0)">
<InstructionForm gas-name="setne" go-name="SETNE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="95"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setne" go-name="SETNE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="95"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNG" summary="Set byte if not greater (ZF == 1 or SF != OF)">
<InstructionForm gas-name="setng" go-name="SETLE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setng" go-name="SETLE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9E"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNGE" summary="Set byte if not greater or equal (SF != OF)">
<InstructionForm gas-name="setnge" go-name="SETLT">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnge" go-name="SETLT">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9C"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNL" summary="Set byte if not less (SF == OF)">
<InstructionForm gas-name="setnl" go-name="SETGE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnl" go-name="SETGE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9D"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNLE" summary="Set byte if not less or equal (ZF == 0 and SF == OF)">
<InstructionForm gas-name="setnle" go-name="SETGT">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnle" go-name="SETGT">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9F"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNO" summary="Set byte if not overflow (OF == 0)">
<InstructionForm gas-name="setno" go-name="SETOC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="91"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setno" go-name="SETOC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="91"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNP" summary="Set byte if not parity (PF == 0)">
<InstructionForm gas-name="setnp" go-name="SETPC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnp" go-name="SETPC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9B"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNS" summary="Set byte if not sign (SF == 0)">
<InstructionForm gas-name="setns" go-name="SETPL">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setns" go-name="SETPL">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="99"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETNZ" summary="Set byte if not zero (ZF == 0)">
<InstructionForm gas-name="setnz" go-name="SETNE">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="95"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setnz" go-name="SETNE">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="95"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETO" summary="Set byte if overflow (OF == 1)">
<InstructionForm gas-name="seto" go-name="SETOS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="seto" go-name="SETOS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="90"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETP" summary="Set byte if parity (PF == 1)">
<InstructionForm gas-name="setp" go-name="SETPS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setp" go-name="SETPS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9A"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETPE" summary="Set byte if parity even (PF == 1)">
<InstructionForm gas-name="setpe" go-name="SETPS">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setpe" go-name="SETPS">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9A"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETPO" summary="Set byte if parity odd (PF == 0)">
<InstructionForm gas-name="setpo" go-name="SETPC">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setpo" go-name="SETPC">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="9B"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETS" summary="Set byte if sign (SF == 1)">
<InstructionForm gas-name="sets" go-name="SETMI">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sets" go-name="SETMI">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="98"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SETZ" summary="Set byte if zero (ZF == 1)">
<InstructionForm gas-name="setz" go-name="SETEQ">
<Operand type="r8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="94"/>
<ModRM mode="11" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="setz" go-name="SETEQ">
<Operand type="m8" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="94"/>
<ModRM mode="#0" reg="0" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SFENCE" summary="Store Fence">
<InstructionForm gas-name="sfence" go-name="SFENCE">
<ISA id="MMX+"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AE"/>
<Opcode byte="F8"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA1MSG1" summary="Perform an Intermediate Calculation for the Next Four SHA1 Message Doublewords">
<InstructionForm gas-name="sha1msg1" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="C9"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha1msg1" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="C9"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA1MSG2" summary="Perform a Final Calculation for the Next Four SHA1 Message Doublewords">
<InstructionForm gas-name="sha1msg2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha1msg2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA1NEXTE" summary="Calculate SHA1 State Variable E after Four Rounds">
<InstructionForm gas-name="sha1nexte" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="C8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha1nexte" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="C8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA1RNDS4" summary="Perform Four Rounds of SHA1 Operation">
<InstructionForm gas-name="sha1rnds4" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="CC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha1rnds4" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="3A"/>
<Opcode byte="CC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA256MSG1" summary="Perform an Intermediate Calculation for the Next Four SHA256 Message Doublewords">
<InstructionForm gas-name="sha256msg1" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha256msg1" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA256MSG2" summary="Perform a Final Calculation for the Next Four SHA256 Message Doublewords">
<InstructionForm gas-name="sha256msg2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CD"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha256msg2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CD"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHA256RNDS2" summary="Perform Two Rounds of SHA256 Operation">
<InstructionForm gas-name="sha256rnds2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sha256rnds2" xmm-mode="SSE">
<ISA id="SHA"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm0" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="38"/>
<Opcode byte="CB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHL" summary="Logical Shift Left">
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlb" go-name="SHLB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlw" go-name="SHLW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="4" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shll" go-name="SHLL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="4" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHLD" summary="Integer Double Precision Shift Left">
<InstructionForm gas-name="shldw">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A4"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldw">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A5"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldl">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A4"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldl">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A5"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldw">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A4"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldw">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="A5"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldl">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A4"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shldl">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="A5"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHLX" summary="Logical Shift Left Without Affecting Flags">
<InstructionForm gas-name="shlxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shlxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHR" summary="Logical Shift Right">
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="r8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="r16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="r32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="11" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D0"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrb" go-name="SHRB">
<Operand type="m8" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D2"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrw" go-name="SHRW">
<Operand type="m16" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="1"/>
<Encoding>
<Opcode byte="D1"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrl" go-name="SHRL">
<Operand type="m32" input="true" output="true"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="D3"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHRD" summary="Integer Double Precision Shift Right">
<InstructionForm gas-name="shrdw">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdw">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdl">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdl">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdw">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AC"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdw">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="AD"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdl">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AC"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrdl">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="cl" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AD"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHRX" summary="Logical Shift Right Without Affecting Flags">
<InstructionForm gas-name="shrxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shrxl">
<ISA id="BMI2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="11" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="F7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHUFPD" summary="Shuffle Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="shufpd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shufpd" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="C6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SHUFPS" summary="Shuffle Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="shufps" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="shufps" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SQRTPD" summary="Compute Square Roots of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="sqrtpd" go-name="SQRTPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sqrtpd" go-name="SQRTPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SQRTPS" summary="Compute Square Roots of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="sqrtps" go-name="SQRTPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sqrtps" go-name="SQRTPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SQRTSD" summary="Compute Square Root of Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="sqrtsd" go-name="SQRTSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sqrtsd" go-name="SQRTSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SQRTSS" summary="Compute Square Root of Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="sqrtss" go-name="SQRTSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="sqrtss" go-name="SQRTSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="STC" summary="Set Carry Flag">
<InstructionForm gas-name="stc" go-name="STC">
<Encoding>
<Opcode byte="F9"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="STD" summary="Set Direction Flag">
<InstructionForm gas-name="std" go-name="STD">
<Encoding>
<Opcode byte="FD"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="STMXCSR" summary="Store MXCSR Register State">
<InstructionForm gas-name="stmxcsr" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="m32" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="AE"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SUB" summary="Subtract">
<InstructionForm gas-name="subb" go-name="SUBB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="2C"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subb" go-name="SUBB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subb" go-name="SUBB" cancelling-inputs="true">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="28"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subb" go-name="SUBB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="2D"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW" cancelling-inputs="true">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="2B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="2D"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="5" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL" cancelling-inputs="true">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="2B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subb" go-name="SUBB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subb" go-name="SUBB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="28"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subw" go-name="SUBW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="5" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subl" go-name="SUBL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SUBPD" summary="Subtract Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="subpd" go-name="SUBPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subpd" go-name="SUBPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SUBPS" summary="Subtract Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="subps" go-name="SUBPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subps" go-name="SUBPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SUBSD" summary="Subtract Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="subsd" go-name="SUBSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subsd" go-name="SUBSD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="F2" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="SUBSS" summary="Subtract Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="subss" go-name="SUBSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="subss" go-name="SUBSS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="5C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="T1MSKC" summary="Inverse Mask From Trailing Ones">
<InstructionForm gas-name="t1mskc">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="7" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="t1mskc">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="7" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="t1mskc">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="7" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="t1mskc">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="7" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="TEST" summary="Logical Compare">
<InstructionForm gas-name="testb" go-name="TESTB">
<Operand type="al" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="A8"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testb" go-name="TESTB">
<Operand type="r8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testb" go-name="TESTB">
<Operand type="r8" input="true" output="false"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="84"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testw" go-name="TESTW">
<Operand type="ax" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="A9"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testw" go-name="TESTW">
<Operand type="r16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testw" go-name="TESTW">
<Operand type="r16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="85"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testl" go-name="TESTL">
<Operand type="eax" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="A9"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testl" go-name="TESTL">
<Operand type="r32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="11" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testl" go-name="TESTL">
<Operand type="r32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="85"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testb" go-name="TESTB">
<Operand type="m8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="F6"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testb" go-name="TESTB">
<Operand type="m8" input="true" output="false"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="84"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testw" go-name="TESTW">
<Operand type="m16" input="true" output="false"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testw" go-name="TESTW">
<Operand type="m16" input="true" output="false"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="85"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testl" go-name="TESTL">
<Operand type="m32" input="true" output="false"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="F7"/>
<ModRM mode="#0" reg="0" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="testl" go-name="TESTL">
<Operand type="m32" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="85"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="TZCNT" summary="Count the Number of Trailing Zero Bits">
<InstructionForm gas-name="tzcntw">
<ISA id="BMI"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzcntw">
<ISA id="BMI"/>
<Operand type="r16" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzcntl">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzcntl">
<ISA id="BMI"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Prefix byte="F3" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="BC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="TZMSK" summary="Mask From Trailing Zeros">
<InstructionForm gas-name="tzmsk">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="4" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzmsk">
<ISA id="TBM"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="4" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzmsk">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="r64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="4" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="tzmsk">
<ISA id="TBM"/>
<Operand type="r64" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="4" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UCOMISD" summary="Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="ucomisd" go-name="UCOMISD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="ucomisd" go-name="UCOMISD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UCOMISS" summary="Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="ucomiss" go-name="UCOMISS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="ucomiss" go-name="UCOMISS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UD2" summary="Undefined Instruction">
<InstructionForm gas-name="ud2">
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="0B"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UNPCKHPD" summary="Unpack and Interleave High Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="unpckhpd" go-name="UNPCKHPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="unpckhpd" go-name="UNPCKHPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="15"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UNPCKHPS" summary="Unpack and Interleave High Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="unpckhps" go-name="UNPCKHPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="unpckhps" go-name="UNPCKHPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="15"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UNPCKLPD" summary="Unpack and Interleave Low Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="unpcklpd" go-name="UNPCKLPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="unpcklpd" go-name="UNPCKLPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="14"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="UNPCKLPS" summary="Unpack and Interleave Low Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="unpcklps" go-name="UNPCKLPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="unpcklps" go-name="UNPCKLPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="14"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDPD" summary="Add Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDPS" summary="Add Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDSD" summary="Add Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vaddsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDSS" summary="Add Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vaddss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="58"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDSUBPD" summary="Packed Double-FP Add/Subtract">
<InstructionForm gas-name="vaddsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VADDSUBPS" summary="Packed Single-FP Add/Subtract">
<InstructionForm gas-name="vaddsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaddsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESDEC" summary="Perform One Round of an AES Decryption Flow">
<InstructionForm gas-name="vaesdec" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaesdec" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESDECLAST" summary="Perform Last Round of an AES Decryption Flow">
<InstructionForm gas-name="vaesdeclast" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaesdeclast" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESENC" summary="Perform One Round of an AES Encryption Flow">
<InstructionForm gas-name="vaesenc" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaesenc" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESENCLAST" summary="Perform Last Round of an AES Encryption Flow">
<InstructionForm gas-name="vaesenclast" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaesenclast" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESIMC" summary="Perform the AES InvMixColumn Transformation">
<InstructionForm gas-name="vaesimc" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaesimc" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VAESKEYGENASSIST" summary="AES Round Key Generation Assist">
<InstructionForm gas-name="vaeskeygenassist" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vaeskeygenassist" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="AES"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DF"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VALIGND" summary="Align Doubleword Vectors">
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VALIGNQ" summary="Align Quadword Vectors">
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="valignq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VANDNPD" summary="Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vandnpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VANDNPS" summary="Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vandnps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandnps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VANDPD" summary="Bitwise Logical AND of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VANDPS" summary="Bitwise Logical AND of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vandps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDMPD" summary="Blend Packed Double-Precision Floating-Point Vectors Using an OpMask Control">
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDMPS" summary="Blend Packed Single-Precision Floating-Point Vectors Using an OpMask Control">
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendmps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDPD" summary="Blend Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="vblendpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDPS" summary=" Blend Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="vblendps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDVPD" summary=" Variable Blend Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="vblendvpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBLENDVPS" summary=" Variable Blend Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="vblendvps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vblendvps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF128" summary="Broadcast 128 Bit of Floating-Point Data">
<InstructionForm gas-name="vbroadcastf128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF32X2" summary="Broadcast Two Single-Precision Floating-Point Elements">
<InstructionForm gas-name="vbroadcastf32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastf32x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastf32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="19"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastf32x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="19"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF32X4" summary="Broadcast Four Single-Precision Floating-Point Elements">
<InstructionForm gas-name="vbroadcastf32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastf32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF32X8" summary="Broadcast Eight Single-Precision Floating-Point Elements">
<InstructionForm gas-name="vbroadcastf32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF64X2" summary="Broadcast Two Double-Precision Floating-Point Elements">
<InstructionForm gas-name="vbroadcastf64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastf64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTF64X4" summary="Broadcast Four Double-Precision Floating-Point Elements">
<InstructionForm gas-name="vbroadcastf64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI128" summary="Broadcast 128 Bits of Integer Data">
<InstructionForm gas-name="vbroadcasti128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI32X2" summary="Broadcast Two Doubleword Elements">
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI32X4" summary="Broadcast Four Doubleword Elements">
<InstructionForm gas-name="vbroadcasti32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI32X8" summary="Broadcast Eight Doubleword Elements">
<InstructionForm gas-name="vbroadcasti32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI64X2" summary="Broadcast Two Quadword Elements">
<InstructionForm gas-name="vbroadcasti64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcasti64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTI64X4" summary="Broadcast Four Quadword Elements">
<InstructionForm gas-name="vbroadcasti64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTSD" summary="Broadcast Double-Precision Floating-Point Element">
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="19"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="19"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="19"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VBROADCASTSS" summary="Broadcast Single-Precision Floating-Point Element">
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="18"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="18"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="18"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vbroadcastss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="18"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCMPPD" summary="Compare Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmppd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCMPPS" summary="Compare Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCMPSD" summary="Compare Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vcmpsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCMPSS" summary="Compare Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vcmpss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcmpss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="0"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCOMISD" summary="Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="vcomisd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomisd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomisd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomisd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCOMISS" summary="Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="vcomiss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomiss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomiss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcomiss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCOMPRESSPD" summary="Store Sparse Packed Double-Precision Floating-Point Values into Dense Memory/Register">
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompresspd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCOMPRESSPS" summary="Store Sparse Packed Single-Precision Floating-Point Values into Dense Memory/Register">
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8A"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcompressps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8A"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTDQ2PD" summary="Convert Packed Dword Integers to Packed Double-Precision FP Values">
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTDQ2PS" summary="Convert Packed Dword Integers to Packed Single-Precision FP Values">
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtdq2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPD2DQ" summary="Convert Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPD2PS" summary="Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values">
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPD2QQ" summary="Convert Packed Double-Precision Floating-Point Values to Packed Quadword Integers">
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPD2UDQ" summary="Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPD2UQQ" summary="Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers">
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtpd2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPH2PS" summary="Convert Half-Precision FP Values to Single-Precision FP Values">
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtph2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2DQ" summary="Convert Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2PD" summary="Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values">
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2PH" summary="Convert Single-Precision FP value to Half-Precision FP value">
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="1D"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1D"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1D"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="F16C"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2ph" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2QQ" summary="Convert Packed Single Precision Floating-Point Values to Packed Singed Quadword Integer Values">
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2UDQ" summary="Convert Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values">
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTPS2UQQ" summary="Convert Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values">
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtps2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTQQ2PD" summary="Convert Packed Quadword Integers to Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2pd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTQQ2PS" summary="Convert Packed Quadword Integers to Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtqq2ps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSD2SI" summary="Convert Scalar Double-Precision FP Value to Integer">
<InstructionForm gas-name="vcvtsd2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSD2SS" summary="Convert Scalar Double-Precision FP Value to Scalar Single-Precision FP Value">
<InstructionForm gas-name="vcvtsd2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2ss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2ss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSD2USI" summary="Convert Scalar Double-Precision Floating-Point Value to Unsigned Doubleword Integer">
<InstructionForm gas-name="vcvtsd2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsd2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSI2SD" summary="Convert Dword Integer to Scalar Double-Precision FP Value">
<InstructionForm gas-name="vcvtsi2sd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2sd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSI2SS" summary="Convert Dword Integer to Scalar Single-Precision FP Value">
<InstructionForm gas-name="vcvtsi2ss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2ss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtsi2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="000" z="0"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSS2SD" summary="Convert Scalar Single-Precision FP Value to Scalar Double-Precision FP Value">
<InstructionForm gas-name="vcvtss2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="5A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2sd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2sd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSS2SI" summary="Convert Scalar Single-Precision FP Value to Dword Integer">
<InstructionForm gas-name="vcvtss2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTSS2USI" summary="Convert Scalar Single-Precision Floating-Point Value to Unsigned Doubleword Integer">
<InstructionForm gas-name="vcvtss2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtss2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPD2DQ" summary="Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="E6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPD2QQ" summary="Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Quadword Integers">
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPD2UDQ" summary="Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPD2UQQ" summary="Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers">
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttpd2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPS2DQ" summary="Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers">
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="5B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2dq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="5B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPS2QQ" summary="Convert with Truncation Packed Single Precision Floating-Point Values to Packed Singed Quadword Integer Values">
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2qq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPS2UDQ" summary="Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values">
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2udq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTPS2UQQ" summary="Convert with Truncation Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values">
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttps2uqq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTSD2SI" summary="Convert with Truncation Scalar Double-Precision FP Value to Signed Integer">
<InstructionForm gas-name="vcvttsd2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttsd2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttsd2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttsd2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTSD2USI" summary="Convert with Truncation Scalar Double-Precision Floating-Point Value to Unsigned Integer">
<InstructionForm gas-name="vcvttsd2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttsd2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTSS2SI" summary="Convert with Truncation Scalar Single-Precision FP Value to Dword Integer">
<InstructionForm gas-name="vcvttss2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttss2si" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttss2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttss2si" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTTSS2USI" summary="Convert with Truncation Scalar Single-Precision Floating-Point Value to Unsigned Integer">
<InstructionForm gas-name="vcvttss2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvttss2usi" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUDQ2PD" summary="Convert Packed Unsigned Doubleword Integers to Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUDQ2PS" summary="Convert Packed Unsigned Doubleword Integers to Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtudq2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUQQ2PD" summary="Convert Packed Unsigned Quadword Integers to Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2pd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUQQ2PS" summary="Convert Packed Unsigned Quadword Integers to Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtuqq2ps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUSI2SD" summary="Convert Unsigned Integer to Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vcvtusi2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtusi2sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="7B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VCVTUSI2SS" summary="Convert Unsigned Integer to Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vcvtusi2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="7B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vcvtusi2ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="000" z="0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDBPSADBW" summary="Double Block Packed Sum-Absolute-Differences on Unsigned Bytes">
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="42"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="42"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdbpsadbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="42"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDIVPD" summary="Divide Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDIVPS" summary="Divide Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDIVSD" summary="Divide Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vdivsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDIVSS" summary="Divide Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vdivss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdivss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDPPD" summary="Dot Product of Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="vdppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdppd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="41"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VDPPS" summary="Dot Product of Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="vdpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vdpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXP2PD" summary="Approximation to the Exponential 2^x of Packed Double-Precision Floating-Point Values with Less Than 2^-23 Relative Error">
<InstructionForm gas-name="vexp2pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexp2pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="C8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXP2PS" summary="Approximation to the Exponential 2^x of Packed Single-Precision Floating-Point Values with Less Than 2^-23 Relative Error">
<InstructionForm gas-name="vexp2ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C8"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexp2ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="C8"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXPANDPD" summary="Load Sparse Packed Double-Precision Floating-Point Values from Dense Memory">
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXPANDPS" summary="Load Sparse Packed Single-Precision Floating-Point Values from Dense Memory">
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="88"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vexpandps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="88"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTF128" summary="Extract Packed Floating-Point Values">
<InstructionForm gas-name="vextractf128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTF32X4" summary="Extract 128 Bits of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vextractf32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTF32X8" summary="Extract 256 Bits of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vextractf32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTF64X2" summary="Extract 128 Bits of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vextractf64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="19"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="19"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTF64X4" summary="Extract 256 Bits of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vextractf64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractf64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTI128" summary="Extract Packed Integer Values">
<InstructionForm gas-name="vextracti128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTI32X4" summary="Extract 128 Bits of Packed Doubleword Integer Values">
<InstructionForm gas-name="vextracti32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTI32X8" summary="Extract 256 Bits of Packed Doubleword Integer Values">
<InstructionForm gas-name="vextracti32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTI64X2" summary="Extract 128 Bits of Packed Quadword Integer Values">
<InstructionForm gas-name="vextracti64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTI64X4" summary="Extract 256 Bits of Packed Quadword Integer Values">
<InstructionForm gas-name="vextracti64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextracti64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VEXTRACTPS" summary="Extract Packed Single Precision Floating-Point Value">
<InstructionForm gas-name="vextractps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vextractps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFIXUPIMMPD" summary="Fix Up Special Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFIXUPIMMPS" summary="Fix Up Special Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="54"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="54"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFIXUPIMMSD" summary="Fix Up Special Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vfixupimmsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFIXUPIMMSS" summary="Fix Up Special Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vfixupimmss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="55"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfixupimmss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="55"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD132PD" summary="Fused Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD132PS" summary="Fused Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD132SD" summary="Fused Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="99"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD132SS" summary="Fused Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="99"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD213PD" summary="Fused Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD213PS" summary="Fused Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD213SD" summary="Fused Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="A9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD213SS" summary="Fused Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="A9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD231PD" summary="Fused Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD231PS" summary="Fused Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD231SD" summary="Fused Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="B9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADD231SS" summary="Fused Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmadd231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="B9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmadd231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDPD" summary="Fused Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDPS" summary="Fused Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSD" summary="Fused Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSS" summary="Fused Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB132PD" summary="Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB132PS" summary="Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB213PD" summary="Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB213PS" summary="Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB231PD" summary="Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUB231PS" summary="Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUBPD" summary="Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMADDSUBPS" summary="Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmaddsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB132PD" summary="Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB132PS" summary="Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB132SD" summary="Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="9B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB132SS" summary="Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="9B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB213PD" summary="Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB213PS" summary="Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB213SD" summary="Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="AB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB213SS" summary="Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="AB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB231PD" summary="Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB231PS" summary="Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB231SD" summary="Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="BB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUB231SS" summary="Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsub231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="BB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsub231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD132PD" summary="Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD132PS" summary="Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD213PD" summary="Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD213PS" summary="Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="A7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD231PD" summary="Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADD231PS" summary="Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B7"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="B7"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADDPD" summary="Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBADDPS" summary="Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBPD" summary="Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBPS" summary="Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBSD" summary="Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6F"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFMSUBSS" summary="Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6E"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD132PD" summary="Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD132PS" summary="Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD132SD" summary="Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="9D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD132SS" summary="Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="9D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD213PD" summary="Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD213PS" summary="Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD213SD" summary="Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="AD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD213SS" summary="Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="AD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD231PD" summary="Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD231PS" summary="Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD231SD" summary="Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="BD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADD231SS" summary="Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmadd231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="BD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmadd231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADDPD" summary="Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="79"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADDPS" summary="Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="78"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADDSD" summary="Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7B"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMADDSS" summary="Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7A"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmaddss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB132PD" summary="Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB132PS" summary="Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB132SD" summary="Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="9F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB132SS" summary="Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="9F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub132ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB213PD" summary="Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB213PS" summary="Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB213SD" summary="Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="AF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB213SS" summary="Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="AF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="AF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub213ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="AF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB231PD" summary="Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB231PS" summary="Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB231SD" summary="Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="BF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231sd" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUB231SS" summary="Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsub231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="BF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ss" xmm-mode="AVX">
<ISA id="FMA3"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="BF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsub231ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="BF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUBPD" summary="Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubpd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUBPS" summary="Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubps" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUBSD" summary="Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7F"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubsd" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFNMSUBSS" summary="Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfnmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7E"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfnmsubss" xmm-mode="AVX">
<ISA id="FMA4"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFPCLASSPD" summary="Test Class of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasspd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFPCLASSPS" summary="Test Class of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="66"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFPCLASSSD" summary="Test Class of Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vfpclasssd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclasssd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="67"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFPCLASSSS" summary="Test Class of Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vfpclassss" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfpclassss" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="67"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFRCZPD" summary="Extract Fraction Packed Double-Precision Floating-Point">
<InstructionForm gas-name="vfrczpd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczpd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="81"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczpd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczpd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="81"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFRCZPS" summary="Extract Fraction Packed Single-Precision Floating-Point">
<InstructionForm gas-name="vfrczps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="80"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="80"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="80"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="80"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFRCZSD" summary="Extract Fraction Scalar Double-Precision Floating-Point">
<InstructionForm gas-name="vfrczsd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczsd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="83"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VFRCZSS" summary="Extract Fraction Scalar Single-Precision Floating Point">
<InstructionForm gas-name="vfrczss" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="82"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vfrczss" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="82"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERDPD" summary="Gather Packed Double-Precision Floating-Point Values Using Signed Doubleword Indices">
<InstructionForm gas-name="vgatherdpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERDPS" summary="Gather Packed Single-Precision Floating-Point Values Using Signed Doubleword Indices">
<InstructionForm gas-name="vgatherdps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm32z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherdps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF0DPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint">
<InstructionForm gas-name="vgatherpf0dpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32y{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF0DPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint">
<InstructionForm gas-name="vgatherpf0dps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF0QPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint">
<InstructionForm gas-name="vgatherpf0qpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF0QPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint">
<InstructionForm gas-name="vgatherpf0qps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF1DPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint">
<InstructionForm gas-name="vgatherpf1dpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32y{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF1DPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint">
<InstructionForm gas-name="vgatherpf1dps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF1QPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint">
<InstructionForm gas-name="vgatherpf1qpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERPF1QPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint">
<InstructionForm gas-name="vgatherpf1qps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERQPD" summary="Gather Packed Double-Precision Floating-Point Values Using Signed Quadword Indices">
<InstructionForm gas-name="vgatherqpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm64z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGATHERQPS" summary="Gather Packed Single-Precision Floating-Point Values Using Signed Quadword Indices">
<InstructionForm gas-name="vgatherqps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm64z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgatherqps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETEXPPD" summary="Extract Exponents of Packed Double-Precision Floating-Point Values as Double-Precision Floating-Point Values">
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexppd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETEXPPS" summary="Extract Exponents of Packed Single-Precision Floating-Point Values as Single-Precision Floating-Point Values">
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="42"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETEXPSD" summary="Extract Exponent of Scalar Double-Precision Floating-Point Value as Double-Precision Floating-Point Value">
<InstructionForm gas-name="vgetexpsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETEXPSS" summary="Extract Exponent of Scalar Single-Precision Floating-Point Value as Single-Precision Floating-Point Value">
<InstructionForm gas-name="vgetexpss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetexpss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETMANTPD" summary="Extract Normalized Mantissas from Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETMANTPS" summary="Extract Normalized Mantissas from Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETMANTSD" summary="Extract Normalized Mantissa from Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vgetmantsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VGETMANTSS" summary="Extract Normalized Mantissa from Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vgetmantss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vgetmantss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VHADDPD" summary="Packed Double-FP Horizontal Add">
<InstructionForm gas-name="vhaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VHADDPS" summary="Packed Single-FP Horizontal Add">
<InstructionForm gas-name="vhaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhaddps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VHSUBPD" summary="Packed Double-FP Horizontal Subtract">
<InstructionForm gas-name="vhsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VHSUBPS" summary="Packed Single-FP Horizontal Subtract">
<InstructionForm gas-name="vhsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vhsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTF128" summary="Insert Packed Floating-Point Values">
<InstructionForm gas-name="vinsertf128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="18"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTF32X4" summary="Insert 128 Bits of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vinsertf32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="18"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="18"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTF32X8" summary="Insert 256 Bits of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vinsertf32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTF64X2" summary="Insert 128 Bits of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vinsertf64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="18"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="18"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="18"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTF64X4" summary="Insert 256 Bits of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vinsertf64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertf64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTI128" summary="Insert Packed Integer Values">
<InstructionForm gas-name="vinserti128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTI32X4" summary="Insert 128 Bits of Packed Doubleword Integer Values">
<InstructionForm gas-name="vinserti32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTI32X8" summary="Insert 256 Bits of Packed Doubleword Integer Values">
<InstructionForm gas-name="vinserti32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti32x8" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTI64X2" summary="Insert 128 Bits of Packed Quadword Integer Values">
<InstructionForm gas-name="vinserti64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti64x2" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTI64X4" summary="Insert 256 Bits of Packed Quadword Integer Values">
<InstructionForm gas-name="vinserti64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinserti64x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VINSERTPS" summary="Insert Packed Single Precision Floating-Point Value">
<InstructionForm gas-name="vinsertps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="21"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vinsertps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="21"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VLDDQU" summary="Load Unaligned Integer 128 Bits">
<InstructionForm gas-name="vlddqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vlddqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="F0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VLDMXCSR" summary="Load MXCSR Register">
<InstructionForm gas-name="vldmxcsr" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="AE"/>
<ModRM mode="#0" reg="2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMASKMOVDQU" summary="Store Selected Bytes of Double Quadword">
<InstructionForm gas-name="vmaskmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<ImplicitOperand id="edi" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="F7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMASKMOVPD" summary="Conditional Move Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmaskmovpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2F"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2F"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMASKMOVPS" summary="Conditional Move Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmaskmovps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaskmovps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMAXPD" summary="Return Maximum Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMAXPS" summary="Return Maximum Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMAXSD" summary="Return Maximum Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vmaxsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMAXSS" summary="Return Maximum Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vmaxss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmaxss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMINPD" summary="Return Minimum Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMINPS" summary="Return Minimum Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMINSD" summary="Return Minimum Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vminsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMINSS" summary="Return Minimum Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vminss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vminss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVAPD" summary="Move Aligned Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovapd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVAPS" summary="Move Aligned Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="28"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovaps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="29"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVD" summary="Move Doubleword">
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="6E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="6E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7E"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="7E"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDDUP" summary="Move One Double-FP and Duplicate">
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovddup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQA" summary="Move Aligned Double Quadword">
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQA32" summary="Move Aligned Doubleword Values">
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQA64" summary="Move Aligned Quadword Values">
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqa64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQU" summary="Move Unaligned Double Quadword">
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQU16" summary="Move Unaligned Word Values">
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu16" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQU32" summary="Move Unaligned Doubleword Values">
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu32" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQU64" summary="Move Unaligned Quadword Values">
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu64" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVDQU8" summary="Move Unaligned Byte Values">
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovdqu8" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVHLPS" summary="Move Packed Single-Precision Floating-Point Values High to Low">
<InstructionForm gas-name="vmovhlps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhlps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVHPD" summary="Move High Packed Double-Precision Floating-Point Value">
<InstructionForm gas-name="vmovhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVHPS" summary="Move High Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmovhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="17"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovhps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVLHPS" summary="Move Packed Single-Precision Floating-Point Values Low to High">
<InstructionForm gas-name="vmovlhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlhps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVLPD" summary="Move Low Packed Double-Precision Floating-Point Value">
<InstructionForm gas-name="vmovlpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVLPS" summary="Move Low Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmovlps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovlps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVMSKPD" summary="Extract Packed Double-Precision Floating-Point Sign Mask">
<InstructionForm gas-name="vmovmskpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovmskpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVMSKPS" summary="Extract Packed Single-Precision Floating-Point Sign Mask">
<InstructionForm gas-name="vmovmskps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovmskps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVNTDQ" summary="Store Double Quadword Using Non-Temporal Hint">
<InstructionForm gas-name="vmovntdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="E7"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVNTDQA" summary="Load Double Quadword Non-Temporal Aligned Hint">
<InstructionForm gas-name="vmovntdqa" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdqa" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdqa" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdqa" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntdqa" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="2A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVNTPD" summary="Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="vmovntpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVNTPS" summary="Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint">
<InstructionForm gas-name="vmovntps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovntps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="2B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVQ" summary="Move Quadword">
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="7E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="7E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D6"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="D6"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVSD" summary="Move Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m64" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="11" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVSHDUP" summary="Move Packed Single-FP High and Duplicate">
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovshdup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVSLDUP" summary="Move Packed Single-FP Low and Duplicate">
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovsldup" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="12"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVSS" summary="Move Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m32{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVUPD" summary="Move Unaligned Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovupd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMOVUPS" summary="Move Unaligned Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="10"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmovups" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMPSADBW" summary="Compute Multiple Packed Sums of Absolute Difference">
<InstructionForm gas-name="vmpsadbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmpsadbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmpsadbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmpsadbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="42"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMULPD" summary="Multiply Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMULPS" summary="Multiply Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMULSD" summary="Multiply Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vmulsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VMULSS" summary="Multiply Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vmulss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="59"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vmulss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VORPD" summary="Bitwise Logical OR of Double-Precision Floating-Point Values">
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VORPS" summary="Bitwise Logical OR of Single-Precision Floating-Point Values">
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="56"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPABSB" summary="Packed Absolute Value of Byte Integers">
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPABSD" summary="Packed Absolute Value of Doubleword Integers">
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPABSQ" summary="Packed Absolute Value of Quadword Integers">
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="1F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPABSW" summary="Packed Absolute Value of Word Integers">
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpabsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="1D"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPACKSSDW" summary="Pack Doublewords into Words with Signed Saturation">
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackssdw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPACKSSWB" summary="Pack Words into Bytes with Signed Saturation">
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="63"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="63"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="63"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="63"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpacksswb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="63"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPACKUSDW" summary="Pack Doublewords into Words with Unsigned Saturation">
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="2B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="2B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="2B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackusdw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="2B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPACKUSWB" summary="Pack Words into Bytes with Unsigned Saturation">
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="67"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="67"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="67"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="67"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="67"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpackuswb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="67"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDB" summary="Add Packed Byte Integers">
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="FC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="FC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="FC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDD" summary="Add Packed Doubleword Integers">
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="FE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="FE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="FE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDQ" summary="Add Packed Quadword Integers">
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="D4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="D4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDSB" summary="Add Packed Signed Byte Integers with Signed Saturation">
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDSW" summary="Add Packed Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDUSB" summary="Add Packed Unsigned Byte Integers with Unsigned Saturation">
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDUSW" summary="Add Packed Unsigned Word Integers with Unsigned Saturation">
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddusw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPADDW" summary="Add Packed Word Integers">
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="FD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="FD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="FD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpaddw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPALIGNR" summary="Packed Align Right">
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="0F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="0F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="0F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpalignr" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPAND" summary="Packed Bitwise Logical AND">
<InstructionForm gas-name="vpand" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpand" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpand" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpand" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPANDD" summary="Bitwise Logical AND of Packed Doubleword Integers">
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPANDN" summary="Packed Bitwise Logical AND NOT">
<InstructionForm gas-name="vpandn" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandn" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandn" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandn" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPANDND" summary="Bitwise Logical AND NOT of Packed Doubleword Integers">
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPANDNQ" summary="Bitwise Logical AND NOT of Packed Quadword Integers">
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandnq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPANDQ" summary="Bitwise Logical AND of Packed Quadword Integers">
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpandq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPAVGB" summary="Average Packed Byte Integers">
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E0"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E0"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPAVGW" summary="Average Packed Word Integers">
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpavgw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDD" summary="Blend Packed Doublewords">
<InstructionForm gas-name="vpblendd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDMB" summary="Blend Byte Vectors Using an OpMask Control">
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDMD" summary="Blend Doubleword Vectors Using an OpMask Control">
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDMQ" summary="Blend Quadword Vectors Using an OpMask Control">
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDMW" summary="Blend Word Vectors Using an OpMask Control">
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendmw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDVB" summary="Variable Blend Packed Bytes">
<InstructionForm gas-name="vpblendvb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendvb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendvb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendvb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="4C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBLENDW" summary="Blend Packed Words">
<InstructionForm gas-name="vpblendw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpblendw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTB" summary="Broadcast Byte Integer">
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="1"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="1"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="1"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="78"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="78"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTD" summary="Broadcast Doubleword Integer">
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="58"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="58"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTMB2Q" summary="Broadcast Low Byte of Mask Register to Packed Quadword Values">
<InstructionForm gas-name="vpbroadcastmb2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastmb2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastmb2q" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="2A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTMW2D" summary="Broadcast Low Word of Mask Register to Packed Doubleword Values">
<InstructionForm gas-name="vpbroadcastmw2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastmw2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastmw2d" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTQ" summary="Broadcast Quadword Integer">
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="59"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="59"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPBROADCASTW" summary="Broadcast Word Integer">
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="79"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpbroadcastw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="79"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCLMULQDQ" summary="Carry-Less Quadword Multiplication">
<InstructionForm gas-name="vpclmulqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="PCLMULQDQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpclmulqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<ISA id="PCLMULQDQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="44"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMOV" summary="Packed Conditional Move">
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="1" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="1" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmov" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="1" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPB" summary="Compare Packed Signed Byte Values">
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPD" summary="Compare Packed Signed Doubleword Values">
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPEQB" summary="Compare Packed Byte Data for Equality">
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="74"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="74"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="74"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="74"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="74"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="74"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPEQD" summary="Compare Packed Doubleword Data for Equality">
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPEQQ" summary="Compare Packed Quadword Data for Equality">
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="29"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="29"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="29"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="29"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="29"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPEQW" summary="Compare Packed Word Data for Equality">
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpeqw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPESTRI" summary="Packed Compare Explicit Length Strings, Return Index">
<InstructionForm gas-name="vpcmpestri" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpestri" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="61"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPESTRM" summary="Packed Compare Explicit Length Strings, Return Mask">
<InstructionForm gas-name="vpcmpestrm" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpestrm" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="eax" input="true" output="false"/>
<ImplicitOperand id="edx" input="true" output="false"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="60"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPGTB" summary="Compare Packed Signed Byte Integers for Greater Than">
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="64"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="64"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPGTD" summary="Compare Packed Signed Doubleword Integers for Greater Than">
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="66"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="66"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPGTQ" summary="Compare Packed Data for Greater Than">
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="37"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="37"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="37"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="37"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="37"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="37"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPGTW" summary="Compare Packed Signed Word Integers for Greater Than">
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="65"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpgtw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="65"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPISTRI" summary="Packed Compare Implicit Length Strings, Return Index">
<InstructionForm gas-name="vpcmpistri" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="63"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpistri" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="ecx" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="63"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPISTRM" summary="Packed Compare Implicit Length Strings, Return Mask">
<InstructionForm gas-name="vpcmpistrm" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpistrm" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<ImplicitOperand id="xmm0" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="62"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPQ" summary="Compare Packed Signed Quadword Values">
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="1F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPUB" summary="Compare Packed Unsigned Byte Values">
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPUD" summary="Compare Packed Unsigned Doubleword Values">
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPUQ" summary="Compare Packed Unsigned Quadword Values">
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="1E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="1E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPUW" summary="Compare Packed Unsigned Word Values">
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCMPW" summary="Compare Packed Signed Word Values">
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcmpw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMB" summary="Compare Packed Signed Byte Integers">
<InstructionForm gas-name="vpcomb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMD" summary="Compare Packed Signed Doubleword Integers">
<InstructionForm gas-name="vpcomd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMPRESSD" summary="Store Sparse Packed Doubleword Integer Values into Dense Memory/Register">
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMPRESSQ" summary="Store Sparse Packed Quadword Integer Values into Dense Memory/Register">
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8B"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcompressq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m512{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="8B"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMQ" summary="Compare Packed Signed Quadword Integers">
<InstructionForm gas-name="vpcomq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMUB" summary="Compare Packed Unsigned Byte Integers">
<InstructionForm gas-name="vpcomub" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomub" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EC"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMUD" summary="Compare Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vpcomud" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomud" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMUQ" summary="Compare Packed Unsigned Quadword Integers">
<InstructionForm gas-name="vpcomuq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomuq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMUW" summary="Compare Packed Unsigned Word Integers">
<InstructionForm gas-name="vpcomuw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomuw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="ED"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCOMW" summary="Compare Packed Signed Word Integers">
<InstructionForm gas-name="vpcomw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpcomw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="CD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCONFLICTD" summary="Detect Conflicts Within a Vector of Packed Doubleword Values into Dense Memory/Register">
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictd" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPCONFLICTQ" summary="Detect Conflicts Within a Vector of Packed Quadword Values into Dense Memory/Register">
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C4"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpconflictq" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERM2F128" summary="Permute Floating-Point Values">
<InstructionForm gas-name="vperm2f128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vperm2f128" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERM2I128" summary="Permute 128-Bit Integer Values">
<InstructionForm gas-name="vperm2i128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vperm2i128" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMB" summary="Permute Byte Integers">
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMD" summary="Permute Doubleword Integers">
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="36"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="36"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="36"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="36"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="36"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="36"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2B" summary="Full Permute of Bytes From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2b" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2D" summary="Full Permute of Doublewords From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2d" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2PD" summary="Full Permute of Double-Precision Floating-Point Values From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2PS" summary="Full Permute of Single-Precision Floating-Point Values From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="77"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="77"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2Q" summary="Full Permute of Quadwords From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="76"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2q" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="76"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMI2W" summary="Full Permute of Words From Two Tables Overwriting the Index">
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="75"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermi2w" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="75"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMIL2PD" summary="Permute Two-Source Double-Precision Floating-Point Vectors">
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2pd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="49"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMIL2PS" summary="Permute Two-Source Single-Precision Floating-Point Vectors">
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2" payload="#4"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermil2ps" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm4"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="48"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3" payload="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMILPD" summary="Permute Double-Precision Floating-Point Values">
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="05"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMILPS" summary="Permute Single-Precision Floating-Point Values">
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermilps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="04"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMPD" summary="Permute Double-Precision Floating-Point Elements">
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermpd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="01"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMPS" summary="Permute Single-Precision Floating-Point Elements">
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermps" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="16"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMQ" summary="Permute Quadword Integers">
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="00"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="00"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="36"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="36"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="36"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="36"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="00"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2B" summary="Full Permute of Bytes From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512VBMI"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2b" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2D" summary="Full Permute of Doublewords From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2d" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2PD" summary="Full Permute of Double-Precision Floating-Point Values From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2PS" summary="Full Permute of Single-Precision Floating-Point Values From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2Q" summary="Full Permute of Quadwords From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2q" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMT2W" summary="Full Permute of Words From Two Tables Overwriting a Table">
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="7D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermt2w" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="7D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPERMW" summary="Permute Word Integers">
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="8D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpermw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="8D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPEXPANDD" summary="Load Sparse Packed Doubleword Integer Values from Dense Memory/Register">
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPEXPANDQ" summary="Load Sparse Packed Quadword Integer Values from Dense Memory/Register">
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="89"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpexpandq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="89"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPEXTRB" summary="Extract Byte">
<InstructionForm gas-name="vpextrb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m8" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m8" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="1"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPEXTRD" summary="Extract Doubleword">
<InstructionForm gas-name="vpextrd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="16"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="16"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="m32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="16"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPEXTRW" summary="Extract Word">
<InstructionForm gas-name="vpextrw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="C5"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m16" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpextrw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m16" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="2"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPGATHERDD" summary="Gather Packed Doubleword Values Using Signed Doubleword Indices">
<InstructionForm gas-name="vpgatherdd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm32z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPGATHERDQ" summary="Gather Packed Quadword Values Using Signed Doubleword Indices">
<InstructionForm gas-name="vpgatherdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm32y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm32x" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPGATHERQD" summary="Gather Packed Doubleword Values Using Signed Quadword Indices">
<InstructionForm gas-name="vpgatherqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm64z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPGATHERQQ" summary="Gather Packed Quadword Values Using Signed Quadword Indices">
<InstructionForm gas-name="vpgatherqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}" input="true" output="true"/>
<Operand type="vm64z" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="vm64x" input="true" output="false"/>
<Operand type="xmm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpgatherqq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="true" output="true"/>
<Operand type="vm64y" input="true" output="false"/>
<Operand type="ymm" input="true" output="true"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDBD" summary="Packed Horizontal Add Signed Byte to Signed Doubleword">
<InstructionForm gas-name="vphaddbd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddbd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDBQ" summary="Packed Horizontal Add Signed Byte to Signed Quadword">
<InstructionForm gas-name="vphaddbq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddbq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDBW" summary="Packed Horizontal Add Signed Byte to Signed Word">
<InstructionForm gas-name="vphaddbw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddbw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDD" summary="Packed Horizontal Add Doubleword Integer">
<InstructionForm gas-name="vphaddd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="02"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDDQ" summary="Packed Horizontal Add Signed Doubleword to Signed Quadword">
<InstructionForm gas-name="vphadddq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="CB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphadddq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="CB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDSW" summary="Packed Horizontal Add Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="vphaddsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="03"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="03"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUBD" summary="Packed Horizontal Add Unsigned Byte to Doubleword">
<InstructionForm gas-name="vphaddubd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddubd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUBQ" summary="Packed Horizontal Add Unsigned Byte to Quadword">
<InstructionForm gas-name="vphaddubq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddubq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUBW" summary="Packed Horizontal Add Unsigned Byte to Word">
<InstructionForm gas-name="vphaddubw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddubw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUDQ" summary="Packed Horizontal Add Unsigned Doubleword to Quadword">
<InstructionForm gas-name="vphaddudq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DB"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddudq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="DB"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUWD" summary="Packed Horizontal Add Unsigned Word to Doubleword">
<InstructionForm gas-name="vphadduwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphadduwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDUWQ" summary="Packed Horizontal Add Unsigned Word to Quadword">
<InstructionForm gas-name="vphadduwq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphadduwq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDW" summary="Packed Horizontal Add Word Integers">
<InstructionForm gas-name="vphaddw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="01"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="01"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="01"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDWD" summary="Packed Horizontal Add Signed Word to Signed Doubleword">
<InstructionForm gas-name="vphaddwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C6"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHADDWQ" summary="Packed Horizontal Add Signed Word to Signed Quadword">
<InstructionForm gas-name="vphaddwq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphaddwq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C7"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHMINPOSUW" summary="Packed Horizontal Minimum of Unsigned Word Integers">
<InstructionForm gas-name="vphminposuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="41"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphminposuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="41"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBBW" summary="Packed Horizontal Subtract Signed Byte to Signed Word">
<InstructionForm gas-name="vphsubbw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubbw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBD" summary="Packed Horizontal Subtract Doubleword Integers">
<InstructionForm gas-name="vphsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="06"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBDQ" summary="Packed Horizontal Subtract Signed Doubleword to Signed Quadword">
<InstructionForm gas-name="vphsubdq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubdq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBSW" summary="Packed Horizontal Subtract Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="vphsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="07"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="07"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="07"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="07"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBW" summary="Packed Horizontal Subtract Word Integers">
<InstructionForm gas-name="vphsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="05"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="05"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="05"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPHSUBWD" summary="Packed Horizontal Subtract Signed Word to Signed Doubleword">
<InstructionForm gas-name="vphsubwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vphsubwd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="E2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPINSRB" summary="Insert Byte">
<InstructionForm gas-name="vpinsrb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="20"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m8" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="1"/>
<Opcode byte="20"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPINSRD" summary="Insert Doubleword">
<InstructionForm gas-name="vpinsrd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="22"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="22"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPINSRW" summary="Insert Word">
<InstructionForm gas-name="vpinsrw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="r32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="C4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpinsrw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m16" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="2"/>
<Opcode byte="C4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPLZCNTD" summary="Count the Number of Leading Zero Bits for Packed Doubleword Values">
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntd" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPLZCNTQ" summary="Count the Number of Leading Zero Bits for Packed Quadword Values">
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="44"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512CD"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vplzcntq" xmm-mode="AVX">
<ISA id="AVX512CD"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="44"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSDD" summary="Packed Multiply Accumulate Signed Doubleword to Signed Doubleword">
<InstructionForm gas-name="vpmacsdd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacsdd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSDQH" summary="Packed Multiply Accumulate Signed High Doubleword to Signed Quadword">
<InstructionForm gas-name="vpmacsdqh" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacsdqh" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSDQL" summary="Packed Multiply Accumulate Signed Low Doubleword to Signed Quadword">
<InstructionForm gas-name="vpmacsdql" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacsdql" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSSDD" summary="Packed Multiply Accumulate with Saturation Signed Doubleword to Signed Doubleword">
<InstructionForm gas-name="vpmacssdd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacssdd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSSDQH" summary="Packed Multiply Accumulate with Saturation Signed High Doubleword to Signed Quadword">
<InstructionForm gas-name="vpmacssdqh" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacssdqh" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSSDQL" summary="Packed Multiply Accumulate with Saturation Signed Low Doubleword to Signed Quadword">
<InstructionForm gas-name="vpmacssdql" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="87"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacssdql" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="87"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSSWD" summary="Packed Multiply Accumulate with Saturation Signed Word to Signed Doubleword">
<InstructionForm gas-name="vpmacsswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="86"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacsswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="86"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSSWW" summary="Packed Multiply Accumulate with Saturation Signed Word to Signed Word">
<InstructionForm gas-name="vpmacssww" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="85"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacssww" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="85"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSWD" summary="Packed Multiply Accumulate Signed Word to Signed Doubleword">
<InstructionForm gas-name="vpmacswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMACSWW" summary="Packed Multiply Accumulate Signed Word to Signed Word">
<InstructionForm gas-name="vpmacsww" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="95"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmacsww" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="95"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADCSSWD" summary="Packed Multiply Add Accumulate with Saturation Signed Word to Signed Doubleword">
<InstructionForm gas-name="vpmadcsswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadcsswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADCSWD" summary="Packed Multiply Add Accumulate Signed Word to Signed Doubleword">
<InstructionForm gas-name="vpmadcswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadcswd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="B6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADD52HUQ" summary="Packed Multiply of Unsigned 52-bit Unsigned Integers and Add High 52-bit Products to Quadword Accumulators">
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52huq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADD52LUQ" summary="Packed Multiply of Unsigned 52-bit Integers and Add the Low 52-bit Products to Quadword Accumulators">
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="B4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="B4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="B4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmadd52luq" xmm-mode="AVX">
<ISA id="AVX512IFMA"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="B4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADDUBSW" summary="Multiply and Add Packed Signed and Unsigned Byte Integers">
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="04"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="04"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="04"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="04"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="04"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddubsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="04"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMADDWD" summary="Multiply and Add Packed Signed Word Integers">
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaddwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMASKMOVD" summary="Conditional Move Packed Doubleword Integers">
<InstructionForm gas-name="vpmaskmovd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMASKMOVQ" summary="Conditional Move Packed Quadword Integers">
<InstructionForm gas-name="vpmaskmovq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="m128" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaskmovq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="m256" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="8E"/>
<ModRM mode="#0" reg="#2" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXSB" summary="Maximum of Packed Signed Byte Integers">
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXSD" summary="Maximum of Packed Signed Doubleword Integers">
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXSQ" summary="Maximum of Packed Signed Quadword Integers">
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXSW" summary="Maximum of Packed Signed Word Integers">
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXUB" summary="Maximum of Packed Unsigned Byte Integers">
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxub" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DE"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXUD" summary="Maximum of Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxud" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXUQ" summary="Maximum of Packed Unsigned Quadword Integers">
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMAXUW" summary="Maximum of Packed Unsigned Word Integers">
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3E"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmaxuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3E"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINSB" summary="Minimum of Packed Signed Byte Integers">
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="38"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINSD" summary="Minimum of Packed Signed Doubleword Integers">
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINSQ" summary="Minimum of Packed Signed Quadword Integers">
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="39"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINSW" summary="Minimum of Packed Signed Word Integers">
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINUB" summary="Minimum of Packed Unsigned Byte Integers">
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="DA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="DA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="DA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminub" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="DA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINUD" summary="Minimum of Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminud" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINUQ" summary="Minimum of Packed Unsigned Quadword Integers">
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMINUW" summary="Minimum of Packed Unsigned Word Integers">
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpminuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="3A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVB2M" summary="Move Signs of Packed Byte Integers to Mask Register">
<InstructionForm gas-name="vpmovb2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovb2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovb2m" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVD2M" summary="Move Signs of Packed Doubleword Integers to Mask Register">
<InstructionForm gas-name="vpmovd2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovd2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovd2m" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVDB" summary="Down Convert Packed Doubleword Values to Byte Values with Truncation">
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="31"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="31"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="31"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVDW" summary="Down Convert Packed Doubleword Values to Word Values with Truncation">
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="33"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="33"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="33"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVM2B" summary="Expand Bits of Mask Register to Packed Byte Integers">
<InstructionForm gas-name="vpmovm2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2b" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2b" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVM2D" summary="Expand Bits of Mask Register to Packed Doubleword Integers">
<InstructionForm gas-name="vpmovm2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2d" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2d" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVM2Q" summary="Expand Bits of Mask Register to Packed Quadword Integers">
<InstructionForm gas-name="vpmovm2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2q" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2q" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="38"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVM2W" summary="Expand Bits of Mask Register to Packed Word Integers">
<InstructionForm gas-name="vpmovm2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2w" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovm2w" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="k" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVMSKB" summary="Move Byte Mask">
<InstructionForm gas-name="vpmovmskb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovmskb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="r32" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="D7"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVQ2M" summary="Move Signs of Packed Quadword Integers to Mask Register">
<InstructionForm gas-name="vpmovq2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovq2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovq2m" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="k" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="39"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVQB" summary="Down Convert Packed Quadword Values to Byte Values with Truncation">
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m16{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="32"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="32"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="32"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVQD" summary="Down Convert Packed Quadword Values to Doubleword Values with Truncation">
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="35"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="35"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="35"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVQW" summary="Down Convert Packed Quadword Values to Word Values with Truncation">
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="34"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="34"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="34"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSDB" summary="Down Convert Packed Doubleword Values to Byte Values with Signed Saturation">
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="21"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="21"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="21"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSDW" summary="Down Convert Packed Doubleword Values to Word Values with Signed Saturation">
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="23"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="23"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="23"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSQB" summary="Down Convert Packed Quadword Values to Byte Values with Signed Saturation">
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m16{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="22"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="22"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="22"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSQD" summary="Down Convert Packed Quadword Values to Doubleword Values with Signed Saturation">
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="25"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="25"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="25"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSQW" summary="Down Convert Packed Quadword Values to Word Values with Signed Saturation">
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="24"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="24"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="24"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSWB" summary="Down Convert Packed Word Values to Byte Values with Signed Saturation">
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="20"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="20"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="20"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXBD" summary="Move Packed Byte Integers to Doubleword Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="21"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="21"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXBQ" summary="Move Packed Byte Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="22"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="22"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXBW" summary="Move Packed Byte Integers to Word Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="20"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="20"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXDQ" summary="Move Packed Doubleword Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="25"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXWD" summary="Move Packed Word Integers to Doubleword Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="23"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVSXWQ" summary="Move Packed Word Integers to Quadword Integers with Sign Extension">
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="24"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovsxwq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="24"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSDB" summary="Down Convert Packed Doubleword Values to Byte Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="11"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSDW" summary="Down Convert Packed Doubleword Values to Word Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="13"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusdw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="13"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSQB" summary="Down Convert Packed Quadword Values to Byte Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m16{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="12"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="12"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="12"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSQD" summary="Down Convert Packed Quadword Values to Doubleword Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="15"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSQW" summary="Down Convert Packed Quadword Values to Word Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m32{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovusqw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="14"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVUSWB" summary="Down Convert Packed Word Values to Byte Values with Unsigned Saturation">
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="10"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="10"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovuswb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="10"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVW2M" summary="Move Signs of Packed Word Integers to Mask Register">
<InstructionForm gas-name="vpmovw2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovw2m" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovw2m" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="29"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVWB" summary="Down Convert Packed Word Values to Byte Values with Truncation">
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m64{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="30"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="m128{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="30"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovwb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="m256{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="30"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXBD" summary="Move Packed Byte Integers to Doubleword Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="31"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXBQ" summary="Move Packed Byte Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="2"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXBW" summary="Move Packed Byte Integers to Word Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="30"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXDQ" summary="Move Packed Doubleword Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="35"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="35"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXWD" summary="Move Packed Word Integers to Doubleword Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMOVZXWQ" summary="Move Packed Word Integers to Quadword Integers with Zero Extension">
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="34"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmovzxwq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="34"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULDQ" summary="Multiply Packed Signed Doubleword Integers and Store Quadword Result">
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="28"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="28"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="28"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="28"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="28"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="28"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULHRSW" summary="Packed Multiply Signed Word Integers and Store High Result with Round and Scale">
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhrsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULHUW" summary="Multiply Packed Unsigned Word Integers and Store High Result">
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhuw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULHW" summary="Multiply Packed Signed Word Integers and Store High Result">
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulhw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULLD" summary="Multiply Packed Signed Doubleword Integers and Store Low Result">
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmulld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULLQ" summary="Multiply Packed Signed Quadword Integers and Store Low Result">
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="40"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullq" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="40"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULLW" summary="Multiply Packed Signed Word Integers and Store Low Result">
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="D5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="D5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D5"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmullw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D5"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULTISHIFTQB" summary="Select Packed Unaligned Bytes from Quadword Sources">
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="83"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<ISA id="AVX512VL"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="83"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<ISA id="AVX512VL"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="83"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmultishiftqb" xmm-mode="AVX">
<ISA id="AVX512VBMI"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPMULUDQ" summary="Multiply Packed Unsigned Doubleword Integers">
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="F4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="F4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F4"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpmuludq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F4"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPOR" summary="Packed Bitwise Logical OR">
<InstructionForm gas-name="vpor" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpor" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpor" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpor" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPORD" summary="Bitwise Logical OR of Packed Doubleword Integers">
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPORQ" summary="Bitwise Logical OR of Packed Quadword Integers">
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vporq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPPERM" summary="Packed Permute Bytes">
<InstructionForm gas-name="vpperm" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A3"/>
<ModRM mode="11" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpperm" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A3"/>
<ModRM mode="#3" reg="#0" rm="#3"/>
<RegisterByte register="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpperm" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="A3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<RegisterByte register="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROLD" summary="Rotate Packed Doubleword Left">
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprold" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROLQ" summary="Rotate Packed Quadword Left">
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="1" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROLVD" summary="Variable Rotate Packed Doubleword Left">
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROLVQ" summary="Variable Rotate Packed Quadword Left">
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprolvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPRORD" summary="Rotate Packed Doubleword Right">
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPRORQ" summary="Rotate Packed Quadword Right">
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPRORVD" summary="Variable Rotate Packed Doubleword Right">
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPRORVQ" summary="Variable Rotate Packed Quadword Right">
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprorvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROTB" summary="Packed Rotate Bytes">
<InstructionForm gas-name="vprotb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C0"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="90"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="90"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C0"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="90"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROTD" summary="Packed Rotate Doublewords">
<InstructionForm gas-name="vprotd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C2"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="92"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="92"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C2"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotd" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="92"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROTQ" summary="Packed Rotate Quadwords">
<InstructionForm gas-name="vprotq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C3"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="93"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="93"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C3"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="93"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPROTW" summary="Packed Rotate Words">
<InstructionForm gas-name="vprotw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="91"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="91"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01000" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="C1"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vprotw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="91"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSADBW" summary="Compute Sum of Absolute Differences">
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="F6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsadbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="F6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSCATTERDD" summary="Scatter Packed Doubleword Values with Signed Doubleword Indices">
<InstructionForm gas-name="vpscatterdd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterdd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32y{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterdd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm32z{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSCATTERDQ" summary="Scatter Packed Quadword Values with Signed Doubleword Indices">
<InstructionForm gas-name="vpscatterdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm32y{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSCATTERQD" summary="Scatter Packed Doubleword Values with Signed Quadword Indices">
<InstructionForm gas-name="vpscatterqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterqd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64y{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterqd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm64z{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSCATTERQQ" summary="Scatter Packed Quadword Values with Signed Quadword Indices">
<InstructionForm gas-name="vpscatterqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterqq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64y{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpscatterqq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm64z{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHAB" summary="Packed Shift Arithmetic Bytes">
<InstructionForm gas-name="vpshab" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshab" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="98"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshab" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="98"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHAD" summary="Packed Shift Arithmetic Doublewords">
<InstructionForm gas-name="vpshad" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshad" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshad" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="9A"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHAQ" summary="Packed Shift Arithmetic Quadwords">
<InstructionForm gas-name="vpshaq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshaq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="9B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshaq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="9B"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHAW" summary="Packed Shift Arithmetic Words">
<InstructionForm gas-name="vpshaw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshaw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="99"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshaw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="99"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHLB" summary="Packed Shift Logical Bytes">
<InstructionForm gas-name="vpshlb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="94"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="94"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="94"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlb" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="94"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHLD" summary="Packed Shift Logical Doublewords">
<InstructionForm gas-name="vpshld" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshld" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="96"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshld" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="96"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHLQ" summary="Packed Shift Logical Quadwords">
<InstructionForm gas-name="vpshlq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="97"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlq" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="97"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHLW" summary="Packed Shift Logical Words">
<InstructionForm gas-name="vpshlw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="95"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="95"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="1" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="95"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshlw" xmm-mode="AVX">
<ISA id="XOP"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="XOP" W="0" L="0" m-mmmm="01001" pp="00" R="0" X="0" B="0" vvvv="#2"/>
<Opcode byte="95"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHUFB" summary="Packed Shuffle Bytes">
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="00"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="00"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="00"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="00"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="00"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="00"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHUFD" summary="Shuffle Packed Doublewords">
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHUFHW" summary="Shuffle Packed High Words">
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="10" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshufhw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSHUFLW" summary="Shuffle Packed Low Words">
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="01" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="11" LL="10" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpshuflw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="70"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSIGNB" summary="Packed Sign of Byte Integers">
<InstructionForm gas-name="vpsignb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="08"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="08"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSIGND" summary="Packed Sign of Doubleword Integers">
<InstructionForm gas-name="vpsignd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSIGNW" summary="Packed Sign of Word Integers">
<InstructionForm gas-name="vpsignw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="09"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsignw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="09"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLD" summary="Shift Packed Doubleword Data Left Logical">
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLDQ" summary="Shift Packed Double Quadword Left Logical">
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpslldq" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="7" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLQ" summary="Shift Packed Quadword Data Left Logical">
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLVD" summary="Variable Shift Packed Doubleword Data Left Logical">
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLVQ" summary="Variable Shift Packed Quadword Data Left Logical">
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="47"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLVW" summary="Variable Shift Packed Word Data Left Logical">
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="12"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllvw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="12"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSLLW" summary="Shift Packed Word Data Left Logical">
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="6" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsllw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAD" summary="Shift Packed Doubleword Data Right Arithmetic">
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrad" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAQ" summary="Shift Packed Quadword Data Right Arithmetic">
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAVD" summary="Variable Shift Packed Doubleword Data Right Arithmetic">
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAVQ" summary="Variable Shift Packed Quadword Data Right Arithmetic">
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="46"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="46"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAVW" summary="Variable Shift Packed Word Data Right Arithmetic">
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="11"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="11"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="11"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsravw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="11"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRAW" summary="Shift Packed Word Data Right Arithmetic">
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="4" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsraw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLD" summary="Shift Packed Doubleword Data Right Logical">
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="72"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="72"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D2"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrld" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D2"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLDQ" summary="Shift Packed Double Quadword Right Logical">
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="16"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="32"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrldq" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="64"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="3" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLQ" summary="Shift Packed Quadword Data Right Logical">
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="73"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="73"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D3"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D3"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLVD" summary="Variable Shift Packed Doubleword Data Right Logical">
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLVQ" summary="Variable Shift Packed Quadword Data Right Logical">
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="1" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="45"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLVW" summary="Variable Shift Packed Word Data Right Logical">
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="10"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="10"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="10"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlvw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="10"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSRLW" summary="Shift Packed Word Data Right Logical">
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#0" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="71"/>
<ModRM mode="#1" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#0"/>
<Opcode byte="71"/>
<ModRM mode="11" reg="2" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D1"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsrlw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D1"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBB" summary="Subtract Packed Byte Integers">
<InstructionForm gas-name="vpsubb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="F8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="F8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBD" summary="Subtract Packed Doubleword Integers">
<InstructionForm gas-name="vpsubd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="FA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="FA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="FA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FA"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FA"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBQ" summary="Subtract Packed Quadword Integers">
<InstructionForm gas-name="vpsubq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="FB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="FB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="FB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="FB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBSB" summary="Subtract Packed Signed Byte Integers with Signed Saturation">
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBSW" summary="Subtract Packed Signed Word Integers with Signed Saturation">
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="E9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="E9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="E9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubsw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="E9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBUSB" summary="Subtract Packed Unsigned Byte Integers with Unsigned Saturation">
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="D8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="D8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D8"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusb" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D8"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBUSW" summary="Subtract Packed Unsigned Word Integers with Unsigned Saturation">
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="D9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="D9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="D9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubusw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="D9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPSUBW" summary="Subtract Packed Word Integers">
<InstructionForm gas-name="vpsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="F9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="F9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="F9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F9"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpsubw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="F9"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTERNLOGD" summary="Bitwise Ternary Logical Operation on Doubleword Values">
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTERNLOGQ" summary="Bitwise Ternary Logical Operation on Quadword Values">
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="true" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="25"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpternlogq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="true" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="25"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTEST" summary="Packed Logical Compare">
<InstructionForm gas-name="vptest" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptest" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptest" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptest" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="17"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTMB" summary="Logical AND of Packed Byte Integer Values and Set Mask">
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmb" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTMD" summary="Logical AND of Packed Doubleword Integer Values and Set Mask">
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTMQ" summary="Logical AND of Packed Quadword Integer Values and Set Mask">
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTMW" summary="Logical AND of Packed Word Integer Values and Set Mask">
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestmw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTNMB" summary="Logical NAND of Packed Byte Integer Values and Set Mask">
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmb" xmm-mode="AVX">
<ISA id="AVX512F"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTNMD" summary="Logical NAND of Packed Doubleword Integer Values and Set Mask">
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTNMQ" summary="Logical NAND of Packed Quadword Integer Values and Set Mask">
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="27"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="27"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPTESTNMW" summary="Logical NAND of Packed Word Integer Values and Set Mask">
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="16"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="32"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0"/>
<Opcode byte="26"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vptestnmw" xmm-mode="AVX">
<ISA id="AVX512F"/>
<ISA id="AVX512BW"/>
<Operand type="k{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="10" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="64"/>
<Opcode byte="26"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKHBW" summary="Unpack and Interleave High-Order Bytes into Words">
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="68"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKHDQ" summary="Unpack and Interleave High-Order Doublewords into Quadwords">
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKHQDQ" summary="Unpack and Interleave High-Order Quadwords into Double Quadwords">
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhqdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKHWD" summary="Unpack and Interleave High-Order Words into Doublewords">
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckhwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="69"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKLBW" summary="Unpack and Interleave Low-Order Bytes into Words">
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="60"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="60"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="60"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="60"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="60"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklbw" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="60"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKLDQ" summary="Unpack and Interleave Low-Order Doublewords into Quadwords">
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="62"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="62"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="62"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="62"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="62"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpckldq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="62"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKLQDQ" summary="Unpack and Interleave Low-Order Quadwords into Double Quadwords">
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklqdq" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="6C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPUNPCKLWD" summary="Unpack and Interleave Low-Order Words into Doublewords">
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="61"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512BW"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="61"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX512BW"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="61"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="61"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="61"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpunpcklwd" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="61"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPXOR" summary="Packed Bitwise Logical Exclusive OR">
<InstructionForm gas-name="vpxor" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxor" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxor" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxor" xmm-mode="AVX">
<ISA id="AVX2"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPXORD" summary="Bitwise Logical Exclusive OR of Packed Doubleword Integers">
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxord" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VPXORQ" summary="Bitwise Logical Exclusive OR of Packed Quadword Integers">
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="EF"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vpxorq" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="EF"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRANGEPD" summary="Range Restriction Calculation For Packed Pairs of Double-Precision Floating-Point Values">
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangepd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRANGEPS" summary="Range Restriction Calculation For Packed Pairs of Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="50"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangeps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="50"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRANGESD" summary="Range Restriction Calculation For a pair of Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vrangesd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangesd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRANGESS" summary="Range Restriction Calculation For a pair of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrangess" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrangess" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP14PD" summary="Compute Approximate Reciprocals of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP14PS" summary="Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="4C"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4C"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP14SD" summary="Compute Approximate Reciprocal of a Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vrcp14sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="4D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP14SS" summary="Compute Approximate Reciprocal of a Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vrcp14ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp14ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="4D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP28PD" summary="Approximation to the Reciprocal of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrcp28pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="CA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp28pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="CA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP28PS" summary="Approximation to the Reciprocal of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrcp28ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="CA"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp28ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="CA"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP28SD" summary="Approximation to the Reciprocal of a Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrcp28sd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="CB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp28sd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="CB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCP28SS" summary="Approximation to the Reciprocal of a Scalar Single-Precision Floating-Point Value with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrcp28ss" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="CB"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcp28ss" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="CB"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCPPS" summary="Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrcpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="53"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="53"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="53"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcpps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="53"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRCPSS" summary="Compute Approximate Reciprocal of Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrcpss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="53"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrcpss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="53"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VREDUCEPD" summary="Perform Reduction Transformation on Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducepd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VREDUCEPS" summary="Perform Reduction Transformation on Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="56"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreduceps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="56"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VREDUCESD" summary="Perform Reduction Transformation on a Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vreducesd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducesd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VREDUCESS" summary="Perform Reduction Transformation on a Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vreducess" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vreducess" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRNDSCALEPD" summary="Round Packed Double-Precision Floating-Point Values To Include A Given Number Of Fraction Bits">
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalepd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRNDSCALEPS" summary="Round Packed Single-Precision Floating-Point Values To Include A Given Number Of Fraction Bits">
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaleps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRNDSCALESD" summary="Round Scalar Double-Precision Floating-Point Value To Include A Given Number Of Fraction Bits">
<InstructionForm gas-name="vrndscalesd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscalesd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRNDSCALESS" summary="Round Scalar Single-Precision Floating-Point Value To Include A Given Number Of Fraction Bits">
<InstructionForm gas-name="vrndscaless" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="0A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrndscaless" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#4"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VROUNDPD" summary="Round Packed Double Precision Floating-Point Values">
<InstructionForm gas-name="vroundpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="09"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="09"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VROUNDPS" summary="Round Packed Single Precision Floating-Point Values">
<InstructionForm gas-name="vroundps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="08"/>
<ModRM mode="11" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="08"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
<Immediate size="1" value="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VROUNDSD" summary="Round Scalar Double Precision Floating-Point Values">
<InstructionForm gas-name="vroundsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0B"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VROUNDSS" summary="Round Scalar Single Precision Floating-Point Values">
<InstructionForm gas-name="vroundss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vroundss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" m-mmmm="00011" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="0A"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT14PD" summary="Compute Approximate Reciprocals of Square Roots of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14pd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT14PS" summary="Compute Approximate Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="4E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT14SD" summary="Compute Approximate Reciprocal of a Square Root of a Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vrsqrt14sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14sd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="4F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT14SS" summary="Compute Approximate Reciprocal of a Square Root of a Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vrsqrt14ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="4F"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt14ss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="4F"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT28PD" summary="Approximation to the Reciprocal Square Root of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrsqrt28pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="CC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt28pd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="CC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT28PS" summary="Approximation to the Reciprocal Square Root of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrsqrt28ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="CC"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt28ps" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="CC"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT28SD" summary="Approximation to the Reciprocal Square Root of a Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrsqrt28sd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="CD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt28sd" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="CD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRT28SS" summary="Approximation to the Reciprocal Square Root of a Scalar Single-Precision Floating-Point Value with Less Than 2^-28 Relative Error">
<InstructionForm gas-name="vrsqrt28ss" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="CD"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrt28ss" xmm-mode="AVX">
<ISA id="AVX512ER"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="10" pp="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="CD"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRTPS" summary="Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vrsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="52"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="52"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="52"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="52"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VRSQRTSS" summary="Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vrsqrtss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="52"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vrsqrtss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="52"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCALEFPD" summary="Scale Packed Double-Precision Floating-Point Values With Double-Precision Floating-Point Values">
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCALEFPS" summary="Scale Packed Single-Precision Floating-Point Values With Single-Precision Floating-Point Values">
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="2C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="2C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCALEFSD" summary="Scale Scalar Double-Precision Floating-Point Value With a Double-Precision Floating-Point Value">
<InstructionForm gas-name="vscalefsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="2D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCALEFSS" summary="Scale Scalar Single-Precision Floating-Point Value With a Single-Precision Floating-Point Value">
<InstructionForm gas-name="vscalefss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="2D"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscalefss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="10" pp="01" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="2D"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERDPD" summary="Scatter Packed Double-Precision Floating-Point Values with Signed Doubleword Indices">
<InstructionForm gas-name="vscatterdpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterdpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterdpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm32y{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERDPS" summary="Scatter Packed Single-Precision Floating-Point Values with Signed Doubleword Indices">
<InstructionForm gas-name="vscatterdps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterdps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm32y{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterdps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm32z{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A2"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF0DPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf0dpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32y{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF0DPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf0dps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF0QPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf0qpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF0QPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf0qps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="5" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF1DPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf1dpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32y{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF1DPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf1dps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm32z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C6"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF1QPD" summary="Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf1qpd" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERPF1QPS" summary="Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint with Intent to Write">
<InstructionForm gas-name="vscatterpf1qps" xmm-mode="AVX">
<ISA id="AVX512PF"/>
<Operand type="vm64z{k}" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="C7"/>
<ModRM mode="#0" reg="6" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERQPD" summary="Scatter Packed Double-Precision Floating-Point Values with Signed Quadword Indices">
<InstructionForm gas-name="vscatterqpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterqpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64y{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterqpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm64z{k}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="8"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSCATTERQPS" summary="Scatter Packed Single-Precision Floating-Point Values with Signed Quadword Indices">
<InstructionForm gas-name="vscatterqps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64x{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterqps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="vm64y{k}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vscatterqps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="vm64z{k}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="10" pp="01" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="0" disp8xN="4"/>
<Opcode byte="A3"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFF32X4" summary="Shuffle 128-Bit Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vshuff32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="23"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="23"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFF64X2" summary="Shuffle 128-Bit Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vshuff64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="23"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff64x2" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="23"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshuff64x2" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="23"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFI32X4" summary="Shuffle 128-Bit Packed Doubleword Integer Values">
<InstructionForm gas-name="vshufi32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi32x4" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi32x4" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFI64X2" summary="Shuffle 128-Bit Packed Quadword Integer Values">
<InstructionForm gas-name="vshufi64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi64x2" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi64x2" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="43"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufi64x2" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="11" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="43"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFPD" summary="Shuffle Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSHUFPS" summary="Shuffle Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="11" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vshufps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Operand type="imm8"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="C6"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
<Immediate size="1" value="#3"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSQRTPD" summary="Compute Square Roots of Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#2" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSQRTPS" summary="Compute Square Roots of Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#1" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="51"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#2" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSQRTSD" summary="Compute Square Root of Scalar Double-Precision Floating-Point Value">
<InstructionForm gas-name="vsqrtsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSQRTSS" summary="Compute Square Root of Scalar Single-Precision Floating-Point Value">
<InstructionForm gas-name="vsqrtss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="51"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsqrtss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="51"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSTMXCSR" summary="Store MXCSR Register State">
<InstructionForm gas-name="vstmxcsr" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="m32" input="false" output="true"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="AE"/>
<ModRM mode="#0" reg="3" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSUBPD" summary="Subtract Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="01" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSUBPS" summary="Subtract Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="00" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSUBSD" summary="Subtract Scalar Double-Precision Floating-Point Values">
<InstructionForm gas-name="vsubsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="11" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="8"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubsd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="11" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubsd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="11" LL="#3" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VSUBSS" summary="Subtract Scalar Single-Precision Floating-Point Values">
<InstructionForm gas-name="vsubss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="10" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0" disp8xN="4"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="10" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="5C"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vsubss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{er}"/>
<Encoding>
<EVEX mm="01" pp="10" LL="#3" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#3" aaa="#0" z="#0"/>
<Opcode byte="5C"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VTESTPD" summary="Packed Double-Precision Floating-Point Bit Test">
<InstructionForm gas-name="vtestpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0F"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0F"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VTESTPS" summary="Packed Single-Precision Floating-Point Bit Test">
<InstructionForm gas-name="vtestps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="0" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vtestps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" W="0" L="1" m-mmmm="00010" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="0E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUCOMISD" summary="Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="vucomisd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomisd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomisd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m64" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="8"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomisd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="01" W="1" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUCOMISS" summary="Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS">
<InstructionForm gas-name="vucomiss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomiss" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<VEX type="VEX" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomiss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="0" aaa="000" z="0" disp8xN="4"/>
<Opcode byte="2E"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vucomiss" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="{sae}"/>
<Encoding>
<EVEX mm="01" pp="00" W="0" vvvv="0000" V="0" RR="00" B="0" X="0" b="#2" aaa="000" z="0"/>
<Opcode byte="2E"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUNPCKHPD" summary="Unpack and Interleave High Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUNPCKHPS" summary="Unpack and Interleave High Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpckhps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="15"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUNPCKLPD" summary="Unpack and Interleave Low Packed Double-Precision Floating-Point Values">
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VUNPCKLPS" summary="Unpack and Interleave Low Packed Single-Precision Floating-Point Values">
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512F"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX512F"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vunpcklps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="14"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VXORPD" summary="Bitwise Logical XOR for Double-Precision Floating-Point Values">
<InstructionForm gas-name="vxorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="00" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="01" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m64bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="01" LL="10" W="1" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorpd" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="01" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VXORPS" summary="Bitwise Logical XOR for Single-Precision Floating-Point Values">
<InstructionForm gas-name="vxorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="16"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="xmm{k}{z}" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="00" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="32"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512VL"/>
<ISA id="AVX512DQ"/>
<Operand type="ymm{k}{z}" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="01" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="m512/m32bcst" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="#2" aaa="#0" z="#0" disp8xN="64"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX512DQ"/>
<Operand type="zmm{k}{z}" input="false" output="true"/>
<Operand type="zmm" input="true" output="false"/>
<Operand type="zmm" input="true" output="false"/>
<Encoding>
<EVEX mm="01" pp="00" LL="10" W="0" vvvv="#1" V="0" RR="00" B="0" X="0" b="0" aaa="#0" z="#0"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="xmm" input="false" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX" cancelling-inputs="true">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="ymm" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="vxorps" xmm-mode="AVX">
<ISA id="AVX"/>
<Operand type="ymm" input="false" output="true"/>
<Operand type="ymm" input="true" output="false"/>
<Operand type="m256" input="true" output="false"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="#1"/>
<Opcode byte="57"/>
<ModRM mode="#2" reg="#0" rm="#2"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VZEROALL" summary="Zero All YMM Registers">
<InstructionForm gas-name="vzeroall" xmm-mode="AVX">
<ISA id="AVX"/>
<Encoding>
<VEX type="VEX" L="1" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="77"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="VZEROUPPER" summary="Zero Upper Bits of YMM Registers">
<InstructionForm gas-name="vzeroupper" xmm-mode="AVX">
<ISA id="AVX"/>
<Encoding>
<VEX type="VEX" L="0" m-mmmm="00001" pp="00" R="0" X="0" B="0" vvvv="0000"/>
<Opcode byte="77"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XADD" summary="Exchange and Add">
<InstructionForm gas-name="xaddb" go-name="XADDB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C0"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xaddw" go-name="XADDW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xaddl" go-name="XADDL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C1"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xaddb" go-name="XADDB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C0"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xaddw" go-name="XADDW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="0F"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xaddl" go-name="XADDL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="C1"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XCHG" summary="Exchange Register/Memory with Register">
<InstructionForm gas-name="xchgb" go-name="XCHGB">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="86"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="86"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgb" go-name="XCHGB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="true"/>
<Encoding>
<Opcode byte="86"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgw" go-name="XCHGW">
<Operand type="ax" input="true" output="true"/>
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="90" addend="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgw" go-name="XCHGW">
<Operand type="r16" input="true" output="true"/>
<Operand type="ax" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="90" addend="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgw" go-name="XCHGW">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="87"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="87"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgw" go-name="XCHGW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="87"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgl" go-name="XCHGL">
<Operand type="eax" input="true" output="true"/>
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="90" addend="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgl" go-name="XCHGL">
<Operand type="r32" input="true" output="true"/>
<Operand type="eax" input="true" output="true"/>
<Encoding>
<Opcode byte="90" addend="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgl" go-name="XCHGL">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="87"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="87"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgl" go-name="XCHGL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="true"/>
<Encoding>
<Opcode byte="87"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgb" go-name="XCHGB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="true"/>
<Encoding>
<Opcode byte="86"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgw" go-name="XCHGW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="true"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="87"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xchgl" go-name="XCHGL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="true"/>
<Encoding>
<Opcode byte="87"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XGETBV" summary="Get Value of Extended Control Register">
<InstructionForm gas-name="xgetbv">
<ImplicitOperand id="eax" input="false" output="true"/>
<ImplicitOperand id="ecx" input="true" output="false"/>
<ImplicitOperand id="edx" input="false" output="true"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="01"/>
<Opcode byte="D0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XLATB" summary="Table Look-up Translation">
<InstructionForm gas-name="xlatb">
<ImplicitOperand id="al" input="true" output="true"/>
<ImplicitOperand id="ebx" input="true" output="false"/>
<Encoding>
<Opcode byte="D7"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XOR" summary="Logical Exclusive OR">
<InstructionForm gas-name="xorb" go-name="XORB">
<Operand type="al" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="34"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorb" go-name="XORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorb" go-name="XORB" cancelling-inputs="true">
<Operand type="r8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="30"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="32"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorb" go-name="XORB">
<Operand type="r8" input="true" output="true"/>
<Operand type="m8" input="true" output="false"/>
<Encoding>
<Opcode byte="32"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="ax" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="35"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW" cancelling-inputs="true">
<Operand type="r16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="31"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="r16" input="true" output="true"/>
<Operand type="m16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="eax" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="35"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="11" reg="6" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL" cancelling-inputs="true">
<Operand type="r32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="31"/>
<ModRM mode="11" reg="#1" rm="#0"/>
</Encoding>
<Encoding>
<Opcode byte="33"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="r32" input="true" output="true"/>
<Operand type="m32" input="true" output="false"/>
<Encoding>
<Opcode byte="33"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorb" go-name="XORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="imm8"/>
<Encoding>
<Opcode byte="80"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorb" go-name="XORB">
<Operand type="m8" input="true" output="true"/>
<Operand type="r8" input="true" output="false"/>
<Encoding>
<Opcode byte="30"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm8" extended-size="2"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="83"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="imm16"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="81"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="2" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorw" go-name="XORW">
<Operand type="m16" input="true" output="true"/>
<Operand type="r16" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="false"/>
<Opcode byte="31"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm8" extended-size="4"/>
<Encoding>
<Opcode byte="83"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="1" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="imm32"/>
<Encoding>
<Opcode byte="81"/>
<ModRM mode="#0" reg="6" rm="#0"/>
<Immediate size="4" value="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorl" go-name="XORL">
<Operand type="m32" input="true" output="true"/>
<Operand type="r32" input="true" output="false"/>
<Encoding>
<Opcode byte="31"/>
<ModRM mode="#0" reg="#1" rm="#0"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XORPD" summary="Bitwise Logical XOR for Double-Precision Floating-Point Values">
<InstructionForm gas-name="xorpd" go-name="XORPD" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorpd" go-name="XORPD" xmm-mode="SSE">
<ISA id="SSE2"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Prefix byte="66" mandatory="true"/>
<Opcode byte="0F"/>
<Opcode byte="57"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
<Instruction name="XORPS" summary="Bitwise Logical XOR for Single-Precision Floating-Point Values">
<InstructionForm gas-name="xorps" go-name="XORPS" xmm-mode="SSE" cancelling-inputs="true">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="xmm" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="57"/>
<ModRM mode="11" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="xorps" go-name="XORPS" xmm-mode="SSE">
<ISA id="SSE"/>
<Operand type="xmm" input="true" output="true"/>
<Operand type="m128" input="true" output="false"/>
<Encoding>
<Opcode byte="0F"/>
<Opcode byte="57"/>
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
</Instruction>
</InstructionSet>