diff options
| author | Sintendo <bram.speeckaert@gmail.com> | 2020-01-12 23:48:16 +0100 |
|---|---|---|
| committer | Sintendo <bram.speeckaert@gmail.com> | 2020-01-13 08:43:42 +0100 |
| commit | cde3a3b44865d6654884f7c9be691fdf64bc9927 (patch) | |
| tree | 54905dcb4caa6436f2f364796ac3c037c530a3d2 /Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp | |
| parent | d5cb85816593fb494808671f8a0d6481db538b9b (diff) | |
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]
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp')
0 files changed, 0 insertions, 0 deletions
