Skip to content

Commit

Permalink
Explicitly specify CMPXCHG8B/CMPXCHG16B extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
Maratyszcza committed Jan 7, 2024
1 parent f1348d8 commit a11ca92
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 3 deletions.
5 changes: 4 additions & 1 deletion opcodes/x86.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,8 @@ class ISAExtension:
'MONITORX': 31,
'WAITPKG': 32,
# Atomic instructions
'RAO-INT': 35,
'CMPXCHG8B': 35,
'RAO-INT': 36,
# Instructions operating on MMX state
'MMX': 40,
'MMX+': 41,
Expand Down Expand Up @@ -478,6 +479,8 @@ class ISAExtension:
- "MONITORX" := The `MONITORX` and `MWAITX` instructions.
- "WAITPKG" := The `UMONITOR`, `UMWAIT`, and `TPAUSE` instructions.
- "CMOV" := Conditional MOVe instructions.
- "CMPXCHG8B" := The `CMPXCHG8B` instruction.
- "RAO-INT" := Remote Atomic Operations extension.
- "MMX" := MultiMedia eXtension.
- "MMX+" := AMD MMX+ extension / Integer SSE (Intel).
- "3dnow!" := AMD 3dnow! extension.
Expand Down
1 change: 1 addition & 0 deletions opcodes/x86.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3840,6 +3840,7 @@
</Instruction>
<Instruction name="CMPXCHG8B" summary="Compare and Exchange 8 Bytes">
<InstructionForm gas-name="cmpxchg8b" go-name="CMPXCHG8B">
<ISA id="CMPXCHG8B"/>
<Operand type="m64" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="ebx" input="true" output="false"/>
Expand Down
1 change: 1 addition & 0 deletions opcodes/x86.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,7 @@
<xs:enumeration value="BMI2" />
<xs:enumeration value="TBM" />
<xs:enumeration value="ADX" />
<xs:enumeration value="CMPXCHG8B" />
<xs:enumeration value="RAO-INT" />
<xs:enumeration value="CLFLUSH" />
<xs:enumeration value="CLFLUSHOPT" />
Expand Down
8 changes: 6 additions & 2 deletions opcodes/x86_64.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,8 +415,10 @@ class ISAExtension:
'MONITORX': 31,
'WAITPKG': 32,
# Atomic instructions
'CMPCCXADD': 35,
'RAO-INT': 36,
'CMPXCHG8B': 35,
'CMPXCHG16B': 36,
'CMPCCXADD': 37,
'RAO-INT': 38,
# Instructions operating on MMX state
'MMX': 40,
'MMX+': 41,
Expand Down Expand Up @@ -520,6 +522,8 @@ class ISAExtension:
- "MONITORX" := The `MONITORX` and `MWAITX` instructions.
- "WAITPKG" := The `UMONITOR`, `UMWAIT`, and `TPAUSE` instructions.
- "CMOV" := Conditional MOVe instructions.
- "CMPXCHG8B" := The `CMPXCHG8B` instruction.
- "CMPXCHG16B" := The `CMPXCHG16B` instruction.
- "CMPCCXADD" := Compare and Add instructions.
- "RAO-INT" := Remote Atomic Operations extension.
- "MMX" := MultiMedia eXtension.
Expand Down
2 changes: 2 additions & 0 deletions opcodes/x86_64.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6096,6 +6096,7 @@
</Instruction>
<Instruction name="CMPXCHG16B" summary="Compare and Exchange 16 Bytes">
<InstructionForm gas-name="cmpxchg16b" nacl-version="33">
<ISA id="CMPXCHG16B"/>
<Operand type="m128" input="true" output="false"/>
<ImplicitOperand id="rax" input="true" output="true"/>
<ImplicitOperand id="rbx" input="true" output="false"/>
Expand All @@ -6111,6 +6112,7 @@
</Instruction>
<Instruction name="CMPXCHG8B" summary="Compare and Exchange 8 Bytes">
<InstructionForm gas-name="cmpxchg8b" go-name="CMPXCHG8B" nacl-version="33">
<ISA id="CMPXCHG8B"/>
<Operand type="m64" input="true" output="false"/>
<ImplicitOperand id="eax" input="true" output="true"/>
<ImplicitOperand id="ebx" input="true" output="false"/>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/x86_64.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,8 @@
<xs:enumeration value="BMI2" />
<xs:enumeration value="TBM" />
<xs:enumeration value="ADX" />
<xs:enumeration value="CMPXCHG8B" />
<xs:enumeration value="CMPXCHG16B" />
<xs:enumeration value="RAO-INT" />
<xs:enumeration value="CMPCCXADD" />
<xs:enumeration value="CLFLUSH" />
Expand Down

0 comments on commit a11ca92

Please sign in to comment.