From 1eb8168488d14be4f982caef2c0abfaf2a0e640c Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Thu, 6 Feb 2014 20:39:57 +1300 Subject: [PATCH] x64Emitter: Add the xmm, xmm form of PSRLQ instruction. --- Source/Core/Common/x64Emitter.cpp | 4 ++++ Source/Core/Common/x64Emitter.h | 1 + 2 files changed, 5 insertions(+) diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp index 12985e8a0c..5cba748727 100644 --- a/Source/Core/Common/x64Emitter.cpp +++ b/Source/Core/Common/x64Emitter.cpp @@ -1390,6 +1390,10 @@ void XEmitter::PSRLQ(X64Reg reg, int shift) { Write8(shift); } +void XEmitter::PSRLQ(X64Reg reg, OpArg arg) { + WriteSSEOp(64, 0xd3, true, reg, arg); +} + void XEmitter::PSLLW(X64Reg reg, int shift) { WriteSSEOp(64, 0x71, true, (X64Reg)6, R(reg)); Write8(shift); diff --git a/Source/Core/Common/x64Emitter.h b/Source/Core/Common/x64Emitter.h index 19edf3b822..8f68bdb6f7 100644 --- a/Source/Core/Common/x64Emitter.h +++ b/Source/Core/Common/x64Emitter.h @@ -636,6 +636,7 @@ public: void PSRLW(X64Reg reg, int shift); void PSRLD(X64Reg reg, int shift); void PSRLQ(X64Reg reg, int shift); + void PSRLQ(X64Reg reg, OpArg arg); void PSLLW(X64Reg reg, int shift); void PSLLD(X64Reg reg, int shift);