summaryrefslogtreecommitdiff
path: root/Source/Core/Common/x64Emitter.cpp
diff options
context:
space:
mode:
authorMerryMage <MerryMage@users.noreply.github.com>2019-04-27 12:54:43 +0100
committerMerryMage <MerryMage@users.noreply.github.com>2019-04-27 12:54:43 +0100
commit2d4dd8cdc11ec54639691fe762562e4e7f44a232 (patch)
tree02f177501a42ccd2b2b2064df65eb22758f9bf4b /Source/Core/Common/x64Emitter.cpp
parent2abe333ce94f63971cbee8ea51b22d1df4456ad4 (diff)
x64Emitter: Prefer MOVAPS to MOVAPD
There is no reason to use MOVAPD over MOVAPS, for two reasons: * There has never been a microarchitecture with separate single and double domains. * MOVAPD is one byte longer than MOVAPS
Diffstat (limited to 'Source/Core/Common/x64Emitter.cpp')
-rw-r--r--Source/Core/Common/x64Emitter.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp
index eb756c3793..19a982d1c2 100644
--- a/Source/Core/Common/x64Emitter.cpp
+++ b/Source/Core/Common/x64Emitter.cpp
@@ -2180,7 +2180,11 @@ void XEmitter::MOVAPS(X64Reg regOp, const OpArg& arg)
}
void XEmitter::MOVAPD(X64Reg regOp, const OpArg& arg)
{
- WriteSSEOp(0x66, sseMOVAPfromRM, regOp, arg);
+ // Prefer MOVAPS to MOVAPD as there is no reason to use MOVAPD over MOVAPS:
+ // - They have equivalent functionality.
+ // - There has never been a microarchitecture with separate single and double domains.
+ // - MOVAPD is one byte longer than MOVAPS.
+ MOVAPS(regOp, arg);
}
void XEmitter::MOVAPS(const OpArg& arg, X64Reg regOp)
{
@@ -2188,7 +2192,7 @@ void XEmitter::MOVAPS(const OpArg& arg, X64Reg regOp)
}
void XEmitter::MOVAPD(const OpArg& arg, X64Reg regOp)
{
- WriteSSEOp(0x66, sseMOVAPtoRM, regOp, arg);
+ MOVAPS(arg, regOp);
}
void XEmitter::MOVUPS(X64Reg regOp, const OpArg& arg)