mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 06:07:44 +00:00
LibX86: Add SSE support
This only adds the decodeing support for SSE, not SSE2, etc. may contain traces of SSE2.
This commit is contained in:
parent
d91f194ddd
commit
3ad6d87a45
5 changed files with 617 additions and 0 deletions
|
@ -1111,6 +1111,86 @@ private:
|
|||
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 PREFETCHTNTA(X86::Instruction const&) override;
|
||||
virtual void PREFETCHT0(X86::Instruction const&) override;
|
||||
virtual void PREFETCHT1(X86::Instruction const&) override;
|
||||
virtual void PREFETCHT2(X86::Instruction const&) override;
|
||||
virtual void LDMXCSR(X86::Instruction const&) override;
|
||||
virtual void STMXCSR(X86::Instruction const&) override;
|
||||
virtual void MOVUPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MOVSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void MOVUPS_xmm1m128_xmm2(X86::Instruction const&) override;
|
||||
virtual void MOVSS_xmm1m32_xmm2(X86::Instruction const&) override;
|
||||
virtual void MOVLPS_xmm1_xmm2m64(X86::Instruction const&) override;
|
||||
virtual void MOVLPS_m64_xmm2(X86::Instruction const&) override;
|
||||
virtual void UNPCKLPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void UNPCKHPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MOVHPS_xmm1_xmm2m64(X86::Instruction const&) override;
|
||||
virtual void MOVHPS_m64_xmm2(X86::Instruction const&) override;
|
||||
virtual void MOVAPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MOVAPS_xmm1m128_xmm2(X86::Instruction const&) override;
|
||||
virtual void CVTPI2PS_xmm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void CVTSI2SS_xmm1_rm32(X86::Instruction const&) override;
|
||||
virtual void MOVNTPS_xmm1m128_xmm2(X86::Instruction const&) override;
|
||||
virtual void CVTTPS2PI_mm1_xmm2m64(X86::Instruction const&) override;
|
||||
virtual void CVTTPS2PI_r32_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void CVTPS2PI_xmm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void CVTSS2SI_xmm1_rm32(X86::Instruction const&) override;
|
||||
virtual void UCOMISS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void COMISS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void MOVMSKPS_reg_xmm(X86::Instruction const&) override;
|
||||
virtual void SQRTPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void SQRTSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void RSQRTPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void RSQRTSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void RCPPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void RCPSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void ANDPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void ANDNPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void ORPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void XORPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void ADDPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void ADDSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void MULPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MULSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void SUBPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void SUBSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void MINPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MINSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void DIVPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void DIVSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void MAXPS_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MAXSS_xmm1_xmm2m32(X86::Instruction const&) override;
|
||||
virtual void PSHUFW_mm1_mm2m64_imm8(X86::Instruction const&) override;
|
||||
virtual void CMPPS_xmm1_xmm2m128_imm8(X86::Instruction const&) override;
|
||||
virtual void CMPSS_xmm1_xmm2m32_imm8(X86::Instruction const&) override;
|
||||
virtual void PINSRW_mm1_r32m16_imm8(X86::Instruction const&) override;
|
||||
virtual void PINSRW_xmm1_r32m16_imm8(X86::Instruction const&) override;
|
||||
virtual void PEXTRW_reg_mm1_imm8(X86::Instruction const&) override;
|
||||
virtual void PEXTRW_reg_xmm1_imm8(X86::Instruction const&) override;
|
||||
virtual void SHUFPS_xmm1_xmm2m128_imm8(X86::Instruction const&) override;
|
||||
virtual void PMOVMSKB_reg_mm1(X86::Instruction const&) override;
|
||||
virtual void PMOVMSKB_reg_xmm1(X86::Instruction const&) override;
|
||||
virtual void PMINUB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PMINUB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PMAXUB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PMAXUB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PAVGB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PAVGB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PAVGW_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PAVGW_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PMULHUW_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PMULHUW_xmm1_xmm2m64(X86::Instruction const&) override;
|
||||
virtual void MOVNTQ_m64_mm1(X86::Instruction const&) override;
|
||||
virtual void PMINSB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PMINSB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PMAXSB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PMAXSB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void PSADBB_mm1_mm2m64(X86::Instruction const&) override;
|
||||
virtual void PSADBB_xmm1_xmm2m128(X86::Instruction const&) override;
|
||||
virtual void MASKMOVQ_mm1_mm2m64(X86::Instruction const&) 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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue