dolphin-emulator/Source/Core
Sintendo cde3a3b448 x64Emitter: Avoid 8-bit displacement when possible
Due to the way the ModRM encoding works on x86, memory addressing
combinations involving RBP or R13 need an additional byte for an 8-bit
displacement of zero.

However, this was also applied in cases where it is unnecessary,
effectively wasting a byte.

- MatR with RSP or R12

8B 44 24 00          mov         eax,dword ptr [rsp]
8B 04 24             mov         eax,dword ptr [rsp]

- MRegSum with base != RBP or R13

46 8D 7C 37 00       lea         r15d,[rdi+r14]
46 8D 3C 37          lea         r15d,[rdi+r14]

- MComplex without offset

8B 4C CA 00          mov         ecx,dword ptr [rdx+rcx*8]
8B 0C CA             mov         ecx,dword ptr [rdx+rcx*8]
2020-01-13 08:43:42 +01:00
..
AudioCommon Use std::istringstream or std::ostringstream instead of std::stringstream where possible. 2019-12-29 23:45:02 -05:00
Common x64Emitter: Avoid 8-bit displacement when possible 2020-01-13 08:43:42 +01:00
Core Merge pull request #8158 from Sintendo/jitopts 2020-01-06 14:09:43 +01:00
DiscIO Fix several warnings 2020-01-04 12:11:39 +01:00
DolphinNoGUI Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
DolphinQt DolphinQt: Support compiling on ARM64 2020-01-12 15:23:42 +10:00
InputCommon Fix trailing whitespace 2020-01-07 12:52:05 +13:00
MacUpdater Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
UICommon Use pre-increment for iterators instead of post-increment. 2019-12-29 23:45:02 -05:00
UpdaterCommon Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
VideoBackends Use pre-increment for iterators instead of post-increment. 2019-12-29 23:45:02 -05:00
VideoCommon Use std::istringstream or std::ostringstream instead of std::stringstream where possible. 2019-12-29 23:45:02 -05:00
WinUpdater Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
CMakeLists.txt WinUpdater: Add CMakeLists.txt 2019-05-08 23:59:04 +02:00