dolphin/Source
Sintendo 6a51c1564f Jit64: addx revisited
This doesn't really add any new optimizations, but fixes an issue that
prevented the optimizations introduced in #8551 and #8755 from being
applied in specific cases. A similar issue was solved for subfx as part
of #9425.

Consider the case where the destination register is also an input
register and happens to hold an immediate value. This results in a set
of constraints that forces the RegCache to allocate a register and move
the immediate value into it for us. By the time we check for immediate
values in the JIT, we're too late.

We solve this by refactoring the code in such a way that we can check
for immediates before involving the RegCache.

- Example 1
Before:
41 BF 00 68 00 CC    mov         r15d,0CC006800h
44 03 FF             add         r15d,edi

After:
44 8D BF 00 68 00 CC lea         r15d,[rdi-33FF9800h]

- Example 2
Before:
41 BE 00 00 00 00    mov         r14d,0
44 03 F7             add         r14d,edi

After:
44 8B F7             mov         r14d,edi

- Example 3
Before:
41 BD 03 00 00 00    mov         r13d,3
44 03 6D 8C          add         r13d,dword ptr [rbp-74h]

After:
44 8B 6D 8C          mov         r13d,dword ptr [rbp-74h]
41 83 C5 03          add         r13d,3
2021-01-26 21:25:00 +01:00
..
Android Merge pull request #9443 from Simonx22/update-gradle 2021-01-16 06:55:10 -05:00
Core Jit64: addx revisited 2021-01-26 21:25:00 +01:00
DSPSpy DSPSpy: sync Makefile with current devkitPro template 2020-06-08 04:21:41 +01:00
DSPTool DSP: Eliminate most global state 2020-12-27 06:38:02 -05:00
PCH msvc: bump _MSC_FULL_VER check to 192829335 2021-01-09 19:21:03 -08:00
UnitTests Merge pull request #9307 from Dentomologist/add-deleted-file-missing-warning-flag 2020-12-11 02:06:28 +01:00
VSProps msbuild: enable USE_GDBSTUB 2021-01-09 22:26:55 -08:00
.clang-format Require clang-format 9 and reformat source code 2020-01-08 22:18:15 +01:00
CMakeLists.txt Turn format string issues into compile-time errors 2020-12-04 18:06:02 +01:00
dolphin-emu.sln Externals: Add zstd 2020-05-13 20:53:10 +02:00