dolphin/Source/Core/Core/PowerPC
Sintendo 3499cedde4 Jit64: fselx - Skip MOVAPS + MOVSD (SSE4.1)
For the non-packed variant of this instruction, a MOVSD instruction was
generated to copy only the lower 64 bits of XMM1 to the destination
register. This was done in order to keep the destination register's
upper half intact.

However, when register c and the destination register are the same,
there is no need for this copy. Because the registers match and due to
the way the mask is generated, BLENDVPD will end up taking the upper
half from the destination register, as intended.

Additionally, the MOVAPS to copy Rc into XMM1 can also be skipped.

Before:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
41 0F 28 CE          movaps      xmm1,xmm14
66 41 0F 38 15 CA    blendvpd    xmm1,xmm10,xmm0
F2 44 0F 10 F1       movsd       xmm14,xmm1

After:
66 0F 57 C0          xorpd       xmm0,xmm0
F2 41 0F C2 C6 06    cmpnlesd    xmm0,xmm14
66 45 0F 38 15 F2    blendvpd    xmm14,xmm10,xmm0
2020-10-03 18:28:41 +02:00
..
CachedInterpreter HLE: Improve naming 2020-08-28 20:29:05 +04:00
Interpreter Merge pull request #9054 from sepalani/hle-cleanup 2020-09-07 22:36:19 -04:00
Jit64 Jit64: fselx - Skip MOVAPS + MOVSD (SSE4.1) 2020-10-03 18:28:41 +02:00
Jit64Common Jit64: Keep track of free code regions and reuse space when possible. 2020-08-24 19:31:32 +02:00
JitArm64 Add support for FreeBSD/arm64 2020-08-27 21:54:04 +01:00
JitArmCommon Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
JitCommon Jit64: Keep track of free code regions and reuse space when possible. 2020-08-24 19:31:32 +02:00
SignatureDB PowerPC: Move MMU-specifics from PowerPC.h to MMU.h 2018-05-17 19:18:55 -04:00
BreakPoints.cpp Add Break On Hit and Log On Hit for instruction breakpoints 2020-07-11 13:38:58 -04:00
BreakPoints.h Add Break On Hit and Log On Hit for instruction breakpoints 2020-07-11 13:38:58 -04:00
CPUCoreBase.h CPUCoreBase: Make the GetName() member function const qualified 2018-03-24 16:17:39 -04:00
ConditionRegister.cpp PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01:00
ConditionRegister.h PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01:00
GDBStub.cpp Fix GDB stub 2019-07-07 05:17:33 +01:00
GDBStub.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Gekko.h PowerPC: partially implement thermal related SPRs 2020-06-18 07:37:44 +02:00
JitInterface.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
JitInterface.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
MMU.cpp PatchEngine: Attempt to fix crash in IsStackSane 2020-06-18 11:57:00 +02:00
MMU.h Debugger/Memory: Add support for address spaces 2019-05-02 21:14:30 -04:00
PPCAnalyst.cpp Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
PPCAnalyst.h PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype 2019-12-15 00:23:32 -05:00
PPCCache.cpp PPCCache: Make arrays constexpr where applicable 2019-12-03 04:05:09 -05:00
PPCCache.h PPCCache: Make arrays constexpr where applicable 2019-12-03 04:05:09 -05:00
PPCSymbolDB.cpp initialize some variables which need to be 2020-08-23 13:57:05 -07:00
PPCSymbolDB.h Common/DebugInterface: Namespace code under the Common namespace 2018-07-09 22:23:57 -04:00
PPCTables.cpp Core: Replace usages of StringFromFormat with fmt where applicable 2019-11-11 07:32:57 -05:00
PPCTables.h PPCTables: Remove prefixed underscores from parameter names 2018-03-24 16:46:49 -04:00
PowerPC.cpp Add Break On Hit and Log On Hit for instruction breakpoints 2020-07-11 13:38:58 -04:00
PowerPC.h PowerPC: partially implement thermal related SPRs 2020-06-18 07:37:44 +02:00
Profiler.h PowerPC: Remove Profiler.cpp 2018-08-27 12:13:39 -04:00