From 16f39aa452baee9048b24545392455c1af0e873f Mon Sep 17 00:00:00 2001
From: aroulin <andy.roulin@epfl.ch>
Date: Sun, 23 Aug 2015 15:37:57 +0200
Subject: [PATCH] x64-emitter: add RCPSS SSE instruction

---
 src/common/x64/emitter.cpp | 1 +
 src/common/x64/emitter.h   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/common/x64/emitter.cpp b/src/common/x64/emitter.cpp
index 749a75b72..939df210e 100644
--- a/src/common/x64/emitter.cpp
+++ b/src/common/x64/emitter.cpp
@@ -1535,6 +1535,7 @@ void XEmitter::MAXSS(X64Reg regOp, const OpArg& arg)   {WriteSSEOp(0xF3, sseMAX,
 void XEmitter::MAXSD(X64Reg regOp, const OpArg& arg)   {WriteSSEOp(0xF2, sseMAX, regOp, arg);}
 void XEmitter::SQRTSS(X64Reg regOp, const OpArg& arg)  {WriteSSEOp(0xF3, sseSQRT, regOp, arg);}
 void XEmitter::SQRTSD(X64Reg regOp, const OpArg& arg)  {WriteSSEOp(0xF2, sseSQRT, regOp, arg);}
+void XEmitter::RCPSS(X64Reg regOp, const OpArg& arg)   {WriteSSEOp(0xF3, sseRCP, regOp, arg);}
 void XEmitter::RSQRTSS(X64Reg regOp, const OpArg& arg) {WriteSSEOp(0xF3, sseRSQRT, regOp, arg);}
 
 void XEmitter::ADDPS(X64Reg regOp, const OpArg& arg)   {WriteSSEOp(0x00, sseADD, regOp, arg);}
diff --git a/src/common/x64/emitter.h b/src/common/x64/emitter.h
index 3d6eeb564..a49cd2cf1 100644
--- a/src/common/x64/emitter.h
+++ b/src/common/x64/emitter.h
@@ -586,6 +586,7 @@ public:
     void MAXSD(X64Reg regOp, const OpArg& arg);
     void SQRTSS(X64Reg regOp, const OpArg& arg);
     void SQRTSD(X64Reg regOp, const OpArg& arg);
+    void RCPSS(X64Reg regOp, const OpArg& arg);
     void RSQRTSS(X64Reg regOp, const OpArg& arg);
 
     // SSE/SSE2: Floating point bitwise (yes)