diff options
| author | MerryMage <MerryMage@users.noreply.github.com> | 2019-04-27 12:54:43 +0100 |
|---|---|---|
| committer | MerryMage <MerryMage@users.noreply.github.com> | 2019-04-27 12:54:43 +0100 |
| commit | 2d4dd8cdc11ec54639691fe762562e4e7f44a232 (patch) | |
| tree | 02f177501a42ccd2b2b2064df65eb22758f9bf4b /Source/Core/Common/x64Emitter.cpp | |
| parent | 2abe333ce94f63971cbee8ea51b22d1df4456ad4 (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.cpp | 8 |
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) |
