summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibX86/Instruction.h
diff options
context:
space:
mode:
authorHendiadyoin1 <leon.a@serenityos.org>2022-04-06 15:51:48 +0200
committerAndreas Kling <kling@serenityos.org>2022-04-06 18:30:22 +0200
commit3e3b6778527d4fd263ac37267d55ad9e707ea7b6 (patch)
tree1862f29669f536290e9cb7edde905301b95bb5af /Userland/Libraries/LibX86/Instruction.h
parent5987f0a8f5887f0ffc6025af25e2f23e17650baa (diff)
downloadserenity-3e3b6778527d4fd263ac37267d55ad9e707ea7b6.zip
LibX86: Support SSE2 :^)
This allows disassembly of binaries with SSE2 instructions in them. SSE2 also extends all MMX instructions without affecting the mnemonic, therefore these are just directed to the same function for now. The UserspaceEmulator does not know this as of this commit.
Diffstat (limited to 'Userland/Libraries/LibX86/Instruction.h')
-rw-r--r--Userland/Libraries/LibX86/Instruction.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/Userland/Libraries/LibX86/Instruction.h b/Userland/Libraries/LibX86/Instruction.h
index 5ac628fb52..79f9059526 100644
--- a/Userland/Libraries/LibX86/Instruction.h
+++ b/Userland/Libraries/LibX86/Instruction.h
@@ -118,6 +118,7 @@ enum InstructionFormat {
OP_reg_mm1_imm8,
OP_mm1_r32m16_imm8,
+ OP_xmm1_imm8,
OP_xmm1_xmm2m32,
OP_xmm1_xmm2m64,
OP_xmm1_xmm2m128,
@@ -128,14 +129,19 @@ enum InstructionFormat {
OP_xmm1m128_xmm2,
OP_reg_xmm1,
OP_reg_xmm1_imm8,
+ OP_r32_xmm2m32,
+ OP_r32_xmm2m64,
+ OP_rm32_xmm2,
OP_xmm1_rm32,
OP_xmm1_m64,
OP_m64_xmm2,
OP_rm8_xmm2m32,
+ OP_xmm_mm,
OP_xmm1_mm2m64,
OP_mm1m64_xmm2,
+ OP_mm_xmm,
OP_mm1_xmm2m64,
- OP_r32_xmm2m32,
+ OP_mm1_xmm2m128,
OP_xmm1_r32m16_imm8,
__EndFormatsWithRMByte,