Explorar o código

x64-emitter: add RCPSS SSE instruction

aroulin %!s(int64=11) %!d(string=hai) anos
pai
achega
16f39aa452
Modificáronse 2 ficheiros con 2 adicións e 0 borrados
  1. 1 0
      src/common/x64/emitter.cpp
  2. 1 0
      src/common/x64/emitter.h

+ 1 - 0
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);}

+ 1 - 0
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)