Skip to content

Commit

Permalink
Remove 64-bit TBM instructions from 32-bit x86 ISA
Browse files Browse the repository at this point in the history
These instructions can't be encoded in 32-bit x86 and were added by
mistake
  • Loading branch information
Maratyszcza committed Jan 7, 2024
1 parent 5ec31bf commit 82b6a02
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 210 deletions.
204 changes: 0 additions & 204 deletions opcodes/x86.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1243,30 +1243,6 @@
<ModRM mode="#1" reg="#0" rm="#1"/>
</Encoding>
</InstructionForm>
<InstructionForm gas-name="bextrq">
<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="bextrq">
<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">
Expand All @@ -1289,26 +1265,6 @@
<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">
Expand All @@ -1331,26 +1287,6 @@
<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">
Expand All @@ -1373,26 +1309,6 @@
<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">
Expand All @@ -1415,26 +1331,6 @@
<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">
Expand All @@ -1457,26 +1353,6 @@
<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">
Expand Down Expand Up @@ -1615,26 +1491,6 @@
<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="blsil">
Expand Down Expand Up @@ -1679,26 +1535,6 @@
<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="blsmskl">
Expand Down Expand Up @@ -18045,26 +17881,6 @@
<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">
Expand Down Expand Up @@ -18282,26 +18098,6 @@
<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">
Expand Down
6 changes: 0 additions & 6 deletions opcodes/x86.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,13 @@
<xs:enumeration value="imm8" />
<xs:enumeration value="imm16" />
<xs:enumeration value="imm32" />
<xs:enumeration value="imm64" />
<xs:enumeration value="al" />
<xs:enumeration value="cl" />
<xs:enumeration value="r8" />
<xs:enumeration value="r8l" />
<xs:enumeration value="ax" />
<xs:enumeration value="r16" />
<xs:enumeration value="r16l" />
<xs:enumeration value="eax" />
<xs:enumeration value="r32" />
<xs:enumeration value="r32l" />
<xs:enumeration value="rax" />
<xs:enumeration value="r64" />
<xs:enumeration value="mm" />
<xs:enumeration value="xmm0" />
<xs:enumeration value="xmm" />
Expand Down

0 comments on commit 82b6a02

Please sign in to comment.