summaryrefslogtreecommitdiff
path: root/Userland/DevTools/UserspaceEmulator
diff options
context:
space:
mode:
authorHendiadyoin1 <leon2002.la@gmail.com>2021-07-08 17:49:10 +0200
committerAndreas Kling <kling@serenityos.org>2021-07-22 23:33:21 +0200
commiteb6af294215ec223009569622a1354c416929aae (patch)
tree855500ce951cbbda9c718804772090441822acec /Userland/DevTools/UserspaceEmulator
parentefa42c4d456f08745a8995c56d5dc954e7705712 (diff)
downloadserenity-eb6af294215ec223009569622a1354c416929aae.zip
LibX86: Add missing MovD and MovQ instructions
These are placeholders for now
Diffstat (limited to 'Userland/DevTools/UserspaceEmulator')
-rw-r--r--Userland/DevTools/UserspaceEmulator/SoftCPU.cpp9
-rw-r--r--Userland/DevTools/UserspaceEmulator/SoftCPU.h6
2 files changed, 12 insertions, 3 deletions
diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
index 784311d8cd..6063d812ef 100644
--- a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
+++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
@@ -3528,9 +3528,13 @@ DEFINE_GENERIC_INSN_HANDLERS(AND, op_and, true, false, false)
DEFINE_GENERIC_INSN_HANDLERS(CMP, op_sub, false, false, false)
DEFINE_GENERIC_INSN_HANDLERS_PARTIAL(TEST, op_and, false, false, false)
-void SoftCPU::MOVQ_mm1_mm2m64(const X86::Instruction&) { TODO_INSN(); }
+void SoftCPU::MOVQ_mm1_mm2m64(const X86::Instruction&) { TODO_INSN(); };
+void SoftCPU::MOVQ_mm1m64_mm2(const X86::Instruction&) { TODO_INSN(); };
+void SoftCPU::MOVD_mm1_rm32(const X86::Instruction&) { TODO_INSN(); };
+void SoftCPU::MOVQ_mm1_rm64(const X86::Instruction&) { TODO_INSN(); }; // long mode
+void SoftCPU::MOVD_rm32_mm2(const X86::Instruction&) { TODO_INSN(); };
+void SoftCPU::MOVQ_rm64_mm2(const X86::Instruction&) { TODO_INSN(); }; // long mode
void SoftCPU::EMMS(const X86::Instruction&) { TODO_INSN(); }
-void SoftCPU::MOVQ_mm1_m64_mm2(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xC0(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xC1_16(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xC1_32(const X86::Instruction&) { TODO_INSN(); }
@@ -3540,4 +3544,5 @@ void SoftCPU::wrap_0xD1_32(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xD2(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xD3_16(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::wrap_0xD3_32(const X86::Instruction&) { TODO_INSN(); }
+
}
diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.h b/Userland/DevTools/UserspaceEmulator/SoftCPU.h
index 3d5f287e7f..601d7f82c0 100644
--- a/Userland/DevTools/UserspaceEmulator/SoftCPU.h
+++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.h
@@ -1094,8 +1094,12 @@ private:
virtual void XOR_reg32_RM32(const X86::Instruction&) override;
virtual void XOR_reg8_RM8(const X86::Instruction&) override;
virtual void MOVQ_mm1_mm2m64(const X86::Instruction&) override;
+ virtual void MOVQ_mm1m64_mm2(const X86::Instruction&) override;
+ virtual void MOVD_mm1_rm32(const X86::Instruction&) override;
+ virtual void MOVQ_mm1_rm64(const X86::Instruction&) override; // long mode
+ virtual void MOVD_rm32_mm2(const X86::Instruction&) override;
+ virtual void MOVQ_rm64_mm2(const X86::Instruction&) override; // long mode
virtual void EMMS(const X86::Instruction&) override;
- virtual void MOVQ_mm1_m64_mm2(const X86::Instruction&) override;
virtual void wrap_0xC0(const X86::Instruction&) override;
virtual void wrap_0xC1_16(const X86::Instruction&) override;
virtual void wrap_0xC1_32(const X86::Instruction&) override;